Rethinking The Linter
HTML-код
- Опубликовано: 2 окт 2024
- Million Lint is much better than I expected. Building a relationship between compiler, browser, and VS Code is genius, and I'm so hyped to see what they do with it.
SOURCES
million.dev/bl...
www.igorbedesq...
Check out my Twitch, Twitter, Discord more at t3.gg
S/O Ph4se0n3 for the awesome edit 🙏 - Наука
A company using AI but not jamming it down my throat… what a fresh new approach.
You should declare your conflict of interest up front and in the comments. You waited until the very end of the video where the smallest number of people are likely to see it to admit that you're an investor and therefore have a personal incentive to speak positively of million and to exclude its drawbacks.
Time stamp? I rewatched the last 7 minutes and still didn't see that he was an investor.
$20 for 100 lints seems pretty bad, and that Theo defended it as sounding bad, but is actually really good for twitch to pay for just kind of underpins that this wasn't a unbiased reaction video.
@@ChrisCox-wv7oo 18:03 (to 18:05)
18:05 - you're an investor in what? Million? does that make this a sponsored post? or have I grossly misunderstood?
Being an investor does not make it a "sponsored" post. To be "sponsored", one need to be PAID BY and FOR content.
Now that being said, you still need to disclaim it.
ah, so it's a shill post, ok :)
@@akam9919 right! That's what I wanted to say. Thanks for putting it correctly.
I suspected it the moment he said they didn't mention AI in the title, as if that meant the guys were trustworthy or something, when it just means they know their target audience is more educated on the AI hype than the general public.
@@DaviAreias For me it's at 19:04 when he says he could actually see himself paying for it, thereby influencing the audience in that direction.
Again, I have no issues with it, he's free to do so; but if he indeed is an investor in Million, a disclaimer is the bare minimum.
What I actually liked most about this video is the examples of things that slow down react apps and how to fix them. Does a good job of illustrating some of the things I really dislike about React (because explaining these things to non-senior frontend devs is repetetive and often not easy).
I want this for every framework. Mostly Svelte since that's my go-to framework anyway. But in any case, this could be SO useful for everyone.
Please no AI generated lints, I think lints should be deterministic, while AI tips should stick to other interfaces.
Speaking of performance, there's a Rust-made linter for Python that is amazingly fast called "ruff".
Legend of Dragoon reference?
Solid is the level up
Great video once again Theo!
P.S. Theme link is missing in description
That npx command is quite rude. It installs a vscode plugin and adds stuff to your package.json, even creates vite/(packagesystem) config (lord i hope it doesn't fuck up your old one if you have one). All without further confirmations. Man, I wonder what else it did... I sometimes forget that running npx-anything is like running random exes from the internet.
I loved (and miss) using redux-saga especially when working with streams/channels, prefer it a little bit vs observables 😥
I still use and love them, but Theo is right with not recommending them to beginners. Actor system design, messaging and channels are hard to master.
yes we need a video on context
Everytime Theo talks about how "subscribing is free" it makes me want to unsubscribe
Are you gonna avoid talking about PlanetScale 😂?
my solution: don't use react
Why
React isn't the problem. It's your bad code
@@austincodes i never coded react in my life, so i don't think *my* bad code is the problem bud
Cope 😂
You have to inject a bunch of code from the "linter" into **each** of your components to identify re-rendering issue, just because you can't understand the React devtool profiler?
New React 19 compiler wouldn’t make this obsolete?
Yea al this frontend stuff is dumb, how many companies using this stuff? 0, big corps are still using the same old school stuff Java, c#, ruby, plain Js
Yeah I was just thinking about that too, since you wouldn't need to optimize with useMemo and other stuff like that anymore. I guess it could still be useful for some other things, like how it recommended using a virtual list? But that stuff is a lot simpler to do, so yeah, it does seem like it would be obsolete after the compiler comes out.
I've tried and remove it... I have issues with tools which in realtime detects issues, changes, and VS Code breaks, and slows my compile time, happening on WSL2...
An interesting idea. Hopefully they bring it to Webstorm because I really don't like VScode :(
Remember when you talked about the diagram with “the Prime line”? This arguably can push the line towards better performance for cheaper
shoutout Igor for the killer theme
tener que tomar en cuenta el numero de renderizados , no sera un indicio malo del sistema que es react?
The fact that you need such tool for react just shows how much broken react is. Leave VDOM and effect stuff behind and you can forget about so much such nonsense related to react world only. Solid.js and signals is the way! There things either don't work or work properly 💪
I really like the simplicity of Solid, and it's certainly something I think worth considering. It's main problem of course is 3rd party libs, or course this could change over time. I would also say the best performance gain for React is not a Linter, but just a better state manager like Jotia etc.
I really desire this useContext video! :D
why does no one use million js if it increases performance by 70%? whats the catch?
It's just the beta for now and as Theo said there are still known bugs that might be a dealbreaker. I also haven't heard of it before this video so it might get some attention now.
not caring enough about it and it being pretty new is the catch ig
when millionjs first did the rounds, it was basically incompatible with all third party react libraries like component libraries, so barely anyone adopted it. idk if that has changed since.
Inertia
@@danisob3633 why isnt the react core team implementing these performance boosts?
1:13 did Theo just argue for scaffolding and codegen?
Another fantastic way to improve performance, and not need to waste time thinking about the guts of the framework as much just to make it perform well is to use Svelte, Solid, or HTMX 👌
This sounds incredible actually
React native one day? 🤞
> An alternative compiler for React
Cool
> ... now a Y Combinator founder
Ah, shit. Well, it was good while it lasted, I guess. Hope he enjoys his payout.
Super keen to use this at work. For a large code base $20 is rounding error. Our ci runs cost 100x this per month.
Any idea if this would work for react-native?
I would venture to guess it will considering it’s all the same react pattern of components and hooks etc
the react community is really going out of its way to not switch to Solid, bizarre to watch
It’s because of the fantastic ecosystems surrounding react. That ecosystem would take a very long time to replicate in another language. Easier to just fix react
@@sioncamara7 98% of the ecosystem will be outdated stuff that you wouldnt use today, what is in the react ecosystem that isnt available in solid? most modern quality tools are framework agnostic anyway
React 🤮
The thumbnails 😂
This reminds me of a hammer I had with a broken handle. Instead of replacing the handle, I attached the hammer to a helmet and whenever I want to drive a nail, I would wear the hammer and swing my head. But sometimes I miss and hit my head against the wall instead. So to fix that, I added some padding to my forehead and now it doesn’t hurt at all.
Problem solved!!
I'm interested to know about the context issue. why use use-context-selector, need a vid
Ooh nooooo, I helped create the Redux saga pattern and inspired the project name 😅
The React industry is turning into a loop of nightmares. The React APIs are actually getting bigger than JS, TS, and HTML. You have to be a dumb a55 to use it as your main stack.
There's really not much difference between all of the frameworks. One is faster to developer but runs slower, another is simpler, but has a higher bundle size, the third one may be the best of them all, but is still in beta and may not have too many libraries yet. It really does not matter imex. Server components are dope though, React now beats most other frameworks in performance because you can get away with shipping far less javascript for large projects, we are talking several times less.
React will eventually die (see how amazing Astro is with View Transitions), and probably replaced by some Rust Templating engine, something like Templ in Go. In ~3 years there will just not be a need for React, but today it's the best choice for most projects.
Ugh, just use Vue and forget this excuse for a framework for good.
16:33 They really need to define what a "lint" is. As i can see a lot of developers run the tool, fix one issue, run it again to get the next issue. Does each of those count against your limit?
Yes
thats crazy @@crispi_shots
This is Aiden! Thanks, fixing our definition in the blog. Lint = something is highlighted on the page (not included: errors, no issues found)
just clicked the sub button. 3:50 am I an expert now?
Just don't use React
0:38 wow, these cards are really pretty. Is this just a linear gradient border with padding?
Does this exist for Neovim? I never use VSCode
wait for prime to live code it on stream
The redux saga part gave me redux thunk flashbacks thanks 😅 nice to see AI not forced on us and just a 'part of the product', when i see heavy AI promotion now all I see is 'we arent very good devs but we made a gpt wrapper that looks impressive'
Eh!!!, Unless DarkModeProvider is getting moved around the VDOM, I'm not sure your saving much on memorising (mode,setMode), it doesn't take any props so the only reason for a re-render, (apart from DEV mode and Strict) there should be very little reason for it to re-render. I know it was only an example, but maybe not a good example to show performance improvements..
`... ({mode, setMode}), [mode, setMode]);`
JavaScript in a nutshell.
Feels like just having the information in and not the LLM part can be more future proof cause new solutions are always an annoying part and make it not something that can run without continuous upkeep
Interesting idea, but doesn't seem to work for me. Getting a "is no longer a waterfall hook" on my project.
Another react ecosystem win. React is so bad and so dependent on wrappers for any js to run, people had to copy paste npm packages with react in front of its name and now 'it has the best ecosystem'. Just lol
I worked in a company that used Redux Saga to call APIs. It was a mess.
Pricing for B2C sucks! Sell to companies.
not interested in anything that requires me to use vsCoad
Definitely want to see a video going in depth more about these react optimizations and useContext
I expect this to be more of an lsp than just a vscode extension. Those of us that don't use vscode would need a dedicated extension unless an lsp is provided.
Got excited for nothing... damn React crap
Seems like this would also be useful for auto detecting bugs, if they used react error boundaries or read errors from the console
I tried million.js, I was not impressed.
It does not work if you pass functions or other components as props -> only primitive values are allowed.
The automatic mode - does not work reliably.
The manual mode - you have to wrap everything in Higher-order-function block components in which you lose all type safety.
You are forced some naming convention (that I'm not a fan of) for the million.js compiler to pick up and optimize the code.
It feels like a much more simpler/crude version than Svelte (that relies very heavy on the compiler as well), so why not just use Svelte directly?
This is Aiden, thanks for your feedback. FYI - we fixed the primitive value issue >1 year ago, it should work. I would love to hear your thoughts on automatic mode - what is unreliable?
Would love to hear a video about the proper ways to use context!
Finally one video on which I agree with you 100% 😂mostly with the redux saga good job mate
Interesting is there anything similar for vue?
Sounds like Sonarlint...
Yes Please! We want a context video
I wonder if this works on libraries
Do the context video plz
It's arguably justified, but the long form content is a lot
How is 20mins considered long-form content at all
How do you improve your websites performance? Remove react and stop using fantasy animations.
Really interesting tool :)
Theo please stop
If this was Gotham chess it’d be perfect for a pin of shame
does it has a NeoVim plugin too?
Probably not ngl
I asked in their Discord server and they replied they are working on a CLI tool to give you the fixes in your CLI. Definitely not as good as a integrated plugin but still works i guess.
Ugh, just use Vue and forget this excuse for a framework for good.
Which web browser do you use?
it’s called Arc browser. a newer one
I would also like to know
Arc
Rethinking the Linter?
More like
Reworking TypeScript
This would work the same in react native right?
Is there something similar for Angular?
this is a nice one, will definitely look into adding this
Thats great but you can also just write simple code, avoid react and other bloated modules/frameworks and you don't need this at all.
react trash, people will move by this horrible framework
people will use whatever is easier and faster to write code, no one cares about perfomance or architecture in modern web.
@@maurvick6777 yes, and react is none of that :D, no
U need only CQRS on the FE, no matter what framework u use... BE is the trash...
second to none 😆
First ??
Never let JS devs think, let alone rethink.