Node really shows how important competition is. They were stalled for quite some time until Bun (and Deno) started kicking their ass
@RustIsWinning4 ай бұрын
@@Lu-Die-MilchQ True but only one runtime can win which is Deno 🦕
@azreow4 ай бұрын
@@RustIsWinning Leave it to someone with a Rust logo and a Rust icon to say some crap like this. U derdogs no matter what. God forbid other tools have uses. 🙄
@nel_tu_4 ай бұрын
@@RustIsWinningbrother is bouncing on it
@RustIsWinning4 ай бұрын
@@nel_tu_ I'm bouncing on what?
@Lu-Die-MilchQ4 ай бұрын
@@nel_tu_ yea ignore him. He is a troll.
@dgdev694 ай бұрын
Man, I can't believe this. I don't need karma, jasmine, nodemon, as dependencies. This is great first step. Great job node js team, Keep rocking. One day I will commit to nodejs.
@Ahmedhkad4 ай бұрын
Why its great!, are dependencies bad?
@dgdev694 ай бұрын
@@Ahmedhkad it creates a config hell, and upgrading is hard. Good defaults are better. Most of the people who use karma test runner don't know what their config does. People simply copy paste config either internally or from online
@drugoviic4 ай бұрын
@@Ahmedhkad yeah, you don't need to bloat your application with dozens of third party packages, it makes maintaining the project long term a headache
@essaadi_elmehdi67844 ай бұрын
It's crazy that Node js didn't support those important featuress before
@user-abc8554 ай бұрын
Please tell me why you think, that native support for TS for example is so important for you? If you want to achieve a functionality like "IDE checks types" and "Node just strips types and runs JS to make it faster " you can achieve the same with TS compilation with SWC
@theseangle3 ай бұрын
@@user-abc855 less dependencies = less problems and less sources of potential security threats
@Dariansweb4 ай бұрын
Brother.. man, my jaw started dropping when the debugger was talked about and then when the sqllite features were brought up I had to reach down and pick my jaw up off the floor. Amazing features coming! thanks, my friend :)
@brawlforpro43244 ай бұрын
I need this humor
@zeocamo4 ай бұрын
this is not new, i use it for years.
@Dariansweb4 ай бұрын
@@zeocamo good for you :) it's new to me, sorry i'm just a newb and glad you took time to reply to me.
@boot-strapper4 ай бұрын
Thank bun, they had all of this and more over a year ago
@j________k4 ай бұрын
I love that it works as a single executable binary now. Been shipping binaries for months now
@jerrygreenest3 ай бұрын
11:58 «it should give me all the different files, let's give it a quick run, and it looks like it uses a generator, so we get the next one, which is the first one, and we run this again, and it returned us a promise, it looks like the glob itself isn't a promise, but getting next one is, so we now throw an await right here, remove there, and viola, we got the value» My exact JavaScript experience.
@vainglories75123 ай бұрын
Ahaha
@niZmosis4 ай бұрын
I bet in 3 years from now, this is still all experimental just like all the other stuff that has been stuck in the experimental state. So for a production app, it's just a tease of "what it could have been", and we'll just continue doing things the old way. --experimental-modules anyone? Yea that's been stuck in experimental for over 5 years, and would super useful for so many people. Other one that comes to mind is "--experimental-json-modules", like cmon, finish something before making other never to be finished features.
@krskvBeatsRadio4 ай бұрын
Isn’t the flags you mentioned are all deprecated and replaced with modern non experimental features? ESM is supported with no flag, json can be loaded with loaders which are RC now
@ShaunEk13 ай бұрын
Excited that node is catching up but honestly not going to use all these experimental features until they are no longer experimental.
@tsooooooo4 ай бұрын
SO much overdue quality of life stuff! Great summary thanks
@Bozon671_Higgs4 ай бұрын
Great to see that Node finally gets features that have been available in it's competitors (like Deno or Bun) for years. There was no reason for Node not to have them, except for it's dev team being rigid. Now it will be harder for alternative runtimes to compete
@pomademahal4 ай бұрын
Noob here, is Deno better than NodeJS?
@ertayl75494 ай бұрын
@@pomademahalIt is good but I believe there it no "better" choice. However I would be waiting for Deno 2.0 before coding something for Deno
@MordyDeep4 ай бұрын
@@pomademahal o mercado usa node, não adianta
@ColinRichardson3 ай бұрын
The reason the method is called 'it' is to help allow the test method be named better.. eg, `it('should use default parameters', ....)` and `it('should fail with a negative number', ...)`
@bansh3ee12 күн бұрын
I thought the world has moved from the "should" constant already. it('uses..'), it('fails...') ...
@ColinRichardson11 күн бұрын
@@bansh3ee That is news to me. Never seen anyone use it('uses' or it('fails' The youngens in my team just say test('blar' but that is mainly because we changed framework and was unaware that is had the `it` intercompatibility method available. They turned what should have been a relatively tiny task into a mountain to review. Didn't have the heart to tell them
@BobFrTube4 ай бұрын
Now they need to add a tagged expression for SQL queries. I have my own but it would be wonderful to have it built it.
@isrbillmeyer4 ай бұрын
Top level await... Finally. Cannot tell you how that frustrated me in many projects.
@NurfHerderEclipse3 ай бұрын
Which node version introduced these features. Expected this info to be in the description.
@mateja1764 ай бұрын
Once you’ve used bun, which just works without any config, it’s difficult to go back.
@theintjengineer4 ай бұрын
Precisely.
@abdurahmanmohamed47324 ай бұрын
There's absolutely no going back
@romania-n6q4 ай бұрын
Yes but many frameworks aren't supported by bun.
@MordyDeep4 ай бұрын
the companys don't use Bun lol
@criley77554 ай бұрын
Hasn't the recent Redis debacle illustrated once again why you never hitch your wagon to a tech stack controlled by venture capitalists?
@youloulou65914 ай бұрын
Very nice content. It would have been even nicer to get the version of Node in which each feature have been added
@abdelrahmanhafez9903 ай бұрын
The `fs/promises` thing was there for ages, is it more that they modernized all their standard libraries that used to take a callback?
@stephanw.98884 ай бұрын
node.js never sucked, dude Jackson guitars actually do, though
@irlshrek4 ай бұрын
lets be real though, if deno wasnt forcing their hand they wouldnt be trying
@holypowerenjoyer60594 ай бұрын
Bro got into beef
@sachamorgese72804 ай бұрын
Do you mean Bun? @@irlshrek
@irlshrek4 ай бұрын
@@sachamorgese7280 nope, before bun even came out node was put under pressure by deno
@sicfxmusic4 ай бұрын
0:14 are you sure about that?
@alokbaluni87604 ай бұрын
Which shampoo or conditioner do you use?
@felixgraphx4 ай бұрын
Gonne piggy back on this comment to follow up with: Any chance we hear a couple guitar tunes any time soon?
@Fooney14 ай бұрын
I think he uses Just for Men (with perfect genes).
@bossgd1004 ай бұрын
shampoo++
@sicfxmusic4 ай бұрын
Shampoo Simplified
@WebDevSimplified4 ай бұрын
I just use cheap Dove men's shampoo
@smaragd_3 ай бұрын
The less dependencies the better! Amazing features!
@isrbillmeyer4 ай бұрын
SQLite right inside... excellent I tried the WASM module a few times to get the same. Ended up using Pouchdb and Loki database if I remember correctly.
@aravind.a4 ай бұрын
Great improvement from node.js. Thanks for the video :)
@opchaves4 ай бұрын
Great content! Nodejs is great. Getting better and better 👍🏽
@bharatdubey833 ай бұрын
When are you launching Nodejs simplified
@HarshKapadia4 ай бұрын
Nice! Thank you for compiling all these features! How did you find all the new features?
@Codefide4 ай бұрын
Remember to add to your run script --experimental-sqlite flag for the node:sqlite to work
@tylerarrigoni77003 ай бұрын
Excellent! Thx for posting
@zalaam_04 ай бұрын
I've recently migrated to the bun but It seems node is finally taking this race seriously
@RustIsWinning4 ай бұрын
Deno is winning the race tho 🦕
@brandond_3 ай бұрын
@@RustIsWinningpeople like you are the reason people hate rust. grow up brother
@RustIsWinning3 ай бұрын
@@brandond_ I do not care. Cry more 😂
@brandond_3 ай бұрын
@@RustIsWinning it's really funny how embarrassing you are to yourself lmao
@RustIsWinning3 ай бұрын
@@brandond_ I still do not care what you think. Enjoy your segfaulting runtime haha
@bharatdubey83Күн бұрын
Waiting for your Backend simplified course.
@stroiman.development4 ай бұрын
6:37, you should _probably_ place your glob in a set of single or double quotes (but single quotes doesn't need escaping in JSON). I don't think it makes a difference on Windows, but it does on Linux/MacOS (Or Windows running WSL). Why? in any unix shell (sh, bash, zsh, fish, etc.) the shell expands the glob, meaning node will not see the glob, it will be launched with a specific list of files; those that match the glob at the time you launch. When does this matter? When you run tests in watch mode, and you add a new test file, node will not run that file. I haven't used node's test runner, but the above is true for how mocha behaves (i.e. it will pickup new test files, if you wrap the glob in quotes); I assume it would be the same for node's build in test runner.
@stroiman.development4 ай бұрын
The above btw, also highlights one of the reasons you should always start with a failing test; so you know that the new test is actually being picked up by the test runner.
@ParasBansal104 ай бұрын
Great video Kyle. 👌
@ubaidkhan4264 ай бұрын
Really useful. Thanks!
@NaserPapi-x7z3 ай бұрын
Wow, these significant and highly intelligent changes are going to revolutionize DX for every JavaScript developer. That's why I adore JavaScript everywhere, forever. 😊🚀
@theseangle3 ай бұрын
Bruder was zum Teufel habe ich gerade gelesen, die Menschheit existiert nicht mehr
@yt-sh4 ай бұрын
Node is awesome, thank you for keeping us updated!
@aghileslounis4 ай бұрын
Excellent video! Which node version these experimental features will get officially merged?
@jancartman3214 ай бұрын
Really great video. Well done. And you're really a good speaker. But, don't hate me, I find your facecam overlay just a little bit to large. Anyway, content counts, and that is great. Just thought I speak my mind ...
@amansagar49484 ай бұрын
Worked with bun in a recent project, sometimes the server just doesn’t response on hot restart, lot of other issues too but yea it’s really fast, you can observe when you do filesystem ops
@holgerflick4 ай бұрын
Great video. Would be great if you listed the NodeJS version number somewhere.
@holgerflick4 ай бұрын
Just saw it... 22.7.0
@KCrossReal4 ай бұрын
Great video! Love NodeJs and hope they continue to improve it 🦾
@JoseHenrique-xg1lp4 ай бұрын
Can't wait for plain datetimes in Node
@JasonPhanP4 ай бұрын
Thank you so much, how great it is!!!
@gircsi1174 ай бұрын
Can we get a detailed video on WebSocket support?
@albertoiong68954 ай бұрын
The most valuable clip I can see...
@xzex26092 ай бұрын
it also got the greatest ever (and the last npm command) npm install bun .
@kueifengtung4 ай бұрын
Amazed at the built 8n SQLite 🎉
@dmltdev4 ай бұрын
Maybe I missed it somewhere, but it would be useful to mention the Node.js version at the beginning. Great video though!
@kduy9694 ай бұрын
Could I ask what font you used for the editor, it looks smooth!
@WebDevSimplified4 ай бұрын
The default VSCode font.
@BeniZeBest20114 ай бұрын
Like your vids, alil bit speedy for me but I can live with it. Just about Wepsocket client I didn't get you about that 'cause you can listen to socket in node since a long time. Client webapp add is just fine and a cool one to node I totally agree but I did'nt get the point about integrating server in node... Good work Kyle, keep on, watching you...
@frontend_ko4 ай бұрын
nice~ i love node and bun both
@64jcl4 ай бұрын
Lots of nice features there, debugging is certainly welcome. Typeshit I try to avoid as I prefer vanilla JS always.
@boot-strapper4 ай бұрын
Ts is nice when configure to allow you to use what parts you want when you want.
@PierreSoubourou4 ай бұрын
I think you could improve readability by enlarging your font (most screen space is unused now) - think of smartphone users. Thanks for the videos
@paristhemaster4 ай бұрын
nice video!!! what about absolute paths? is there any quick fix?
@ShahrukhKhan328024 ай бұрын
Still they did not added the builtin file upload feature.
@shivan24184 ай бұрын
From which Node version is this avilable?
@eduardoalvarez44574 ай бұрын
On Node 22 and for the Typescript make sure you are in the very latest version of Node 22
@maabootcamp4 ай бұрын
When would it be available for production use? Any updates on it?
@WillDelish4 ай бұрын
I need SQLite for my project now, cause trying to bundle the right version per OS is a huge pain in my cli app
@mohammadahmermalick78694 ай бұрын
you are amazing bro
@zeteya4 ай бұрын
How does node handle enums when stripping out the types? Since it's not really a type, it could also be used as a value that maps both directions.
@ivaylohandzharov4 ай бұрын
It doesn't. The flag only strips types. If you use any TS only feature it throws an error.
@TsillALevi4 ай бұрын
Bun is the best. I tried it and did't want to turn back. It runs so fast and uses less ram.
@RustIsWinning4 ай бұрын
Deno better 🦕
@erikslorenz4 ай бұрын
There isn't enough info on the built in test runner. Took me awhile how to figure out how to get setup stuff running. But once I did it's pretty good. Super fast. Experimental sqlite is pretty bare bones right now. I spent a bit of time making a wrapper around it for transactions and such.
@bicatu4 ай бұрын
Cool, but you should have explored the limitation of the TS further.
@criley77554 ай бұрын
It's not a limitation. It strips out the types to give you actual JavaScript.
@bicatu4 ай бұрын
@@criley7755 so does it work like ts-node/tsc? How about deno/bun? If it doesn't, then it is a limitation when compared to the alternatives. In the end I feel that this aspect should be further explored so besides the invalid types aspect, what other aspects would we be letting go if we were to stick to node.js directly.
@tylim884 ай бұрын
@@bicatuBecause all of them strip types under the hood lol
@ManasTunga4 ай бұрын
node typescript support is awesome. but node still requires file extension like .ts or .js for relative import.
@AjayCoding4 ай бұрын
This is awesome!
@TylerR9094 ай бұрын
I wish terms like "test coverage" would fall out of the lexicon already.
@khai96x4 ай бұрын
It's useful to detect edge cases. It's a tool, and like all tools, it isn't inherently good or bad.
@ColinRichardson3 ай бұрын
Needs more Semicolons
@i.mahdihosseini4 ай бұрын
so it's getting some of bun features?
@jialx3 ай бұрын
Node never sucked, devs just like to feel smart by hating whats popular
@PieterWigboldus4 ай бұрын
Node dont support Typescript, it just strip type annotations like you can do in Typescript. It also calls strip types. Just that you dont need a build step anymore to just remove the type annotations.
@SDAravind4 ай бұрын
What version of node is being talked about?
@anshumankhanna82962 ай бұрын
I think we should just sit one day and see just how many things are --experimental
@premprakash66734 ай бұрын
Node or springboot ?
@Zeero38464 ай бұрын
Using type: "module" still kind of sucks because other tools, like Jest, haven't fully adopted it, and they force you to use the experimental flag, and there's not actually a way to pass that to the debugger in VS Code whenever you try to debug a test. I haven't figured out how to do it, anyways. In any case, it all worked better to just use Babel and Webpack to transpile it to Node's default JavaScript syntax.
@vatmanzlokuz6803 ай бұрын
deno still a better option
@ScriptCodec4 ай бұрын
Okay, node gradually winning my soul outta php😂😂
@MrLuckfinder4 ай бұрын
What is node version?
@rosszhu16604 ай бұрын
Most typescript project files are not working with the strip-types feature. e.g.: x TypeScript import equals declaration is not supported in strip-only mode ,-[5:1] 2 | * This is not a production server yet! 3 | * This is only a minimal backend to get started. 4 | */ 5 | import compression = require('compression');
@w1-w2-w34 ай бұрын
That is really cool.
@ioannis_gr4 ай бұрын
Node was always the 🐐
@SirusStarTV2 ай бұрын
WebSocket is web api on the client side, now nodejs implemented it. It's already has WS module so no need to do anything more.
@exmarinplorer4 ай бұрын
Kyle, please do more Node videos! Amazing video!
@oll2363 ай бұрын
I don't think I want a WebSocketServer implemented in node by default. Maybe I am wrong but it looks like too much overhead
@arshdeepkumar4 ай бұрын
if we're doing this conversation that NodeJS is better than Deno/Bun than NodeJS is messed up, there shouldn't be no Deno/Bun ideally
@pedrorodriguez26834 ай бұрын
fs/promise has been there for a long time tho 🤔
@nicko31514 ай бұрын
wow ok, but will someone fix the performance and size of nodejs someday?
@JohnLovell-FTW4 ай бұрын
Talk to the COBOL programers about being a language old and out of date :)
@DarkzarichV24 ай бұрын
Running ESM in my project was not all that easy to be honest. Jest refused to work with that at first, because it didn't like "import" in my files. Probably there would be less problems if it was in TypeScript instead of just JavaScript
@derismekentz14 ай бұрын
Nodejs on IoT is crazy
@gryg6664 ай бұрын
Nice. But I'll still use Bun due to ts support and other stuff :)
@DolevDublon4 ай бұрын
I love you thanks kile
@solevow4 ай бұрын
so cool these built-in features added. before, installing tools like tsc, jest or so and make them work correctly is really painful and time wasting, although these features may keep experimental for centries
@wahoobeans4 ай бұрын
Deno and bun remind me of yarn: node/npm sucks for a while, then some people create some new and better tool, and then forces node/npm to evolve/absorb the new tool
@RustIsWinning4 ай бұрын
@@wahoobeans did that even happen tho? Why is everyone still recommending pnpm or other alternatives?
@wahoobeans4 ай бұрын
I dunno about pnpm. Never used it. In my experience, npm and node 12 was such a pain. Installs always crashedwith node gyp errors. all of errors went away though when we upgraded to node 20 and npm version 10. It was a miracle that we were able to develop locally and deploy our app with different package json versions…
@WirIez4 ай бұрын
Still sucks because these are experimental features. I have yet to see a package manager from node that doesn’t suck either
@Kiev-in-3-days4 ай бұрын
I kinda see typescript support in Node as enshitfication. Well at least they do not force us to use it. Not yet.
@samifouad4 ай бұрын
the damage is already done I've been bun-pilled
@ayushporwal59504 ай бұрын
Nodejs: I am him
@Floubadour3 ай бұрын
Just use bun or maybe Demo (but without jsr). Node has this problem that every interesting feature is either experimental or you need to remember to enable it or whatever. In bun everything just works. I was initially skeptical but after trying it out and using it for one production app I am not looking back at the node. It's just not worth the effort
@nilsandresen974 ай бұрын
**/ as a glob would match all test files in node modules aswell. There are no node modules here. Just be careful with that.
@hooooman.4 ай бұрын
As a junior React/Next.js developer, I am also planning to learn backend development. I have two options in mind: 1)Utilize my existing JavaScript knowledge to learn Node.js. 2)Learn Golang, which is much faster, highly in demand, and used in larger projects. Does anyone have any suggestions?
@turan_sultan4 ай бұрын
I would suggest learning Go, as it is being chosen more often than any other languages for new services nowadays. I use node at work, and sometimes hear from my pm if I could use Go for new services because of the fact that it also ustilizes less server resources, hence money. So I am also planning to start learning it!
@stevenjoseph74034 ай бұрын
Go for Nodejs, there is high market demand for Nodejs developers
@MinhazurSarker4 ай бұрын
When did it suck?
@RustIsWinning4 ай бұрын
Still cannot compile to a single executable without going through like 7 different steps instead of one 😂
@lengors73274 ай бұрын
Now instead of adding a bunch of libraries, I can just add a bunch of experimental flags 🤔