You should have Charlie Marsh on to talk about what he is doing to make Python "just work". In the past he has referenced how he is trying to make the python ecosystem more like TypeScript. Especially with the AI hype where TS/JS devs might be looking at Python it might be a good intro to listeners who have tried python in the past but got frustrated with installation and package management. Charlie created Ruff, a python linter and uv, a python package manager. They are also working on a type checker and LSP
Vitest has better assertions and such but node test is really quite good and just having no extra dependency is awesome. Plus it’s lightning fast. I don’t use many mocks but spies seem to work fine for me for the occasional use case. Yah no need for anything else except mock service worker for http testing
Now we just need sqlite in browsers. I hate that it is not there as a feature. I know there are option to get it their but I never understood why browsers decided to not add it.
One annoying thing about the way they have implemented the .env support as a node.js command line option: What if you need to call something else that invokes node.js, but you need your .env to be loaded? We use sequelize, for which we have to run migrations using the sequelize CLI. Somewhere deep inside of the sequelize CLI, they invoke node.js on our migration configuration .js file. With dotenv middleware, we can load our environment within that config file. But we have no way to tell the sequelize CLI, "Hey, when you launch node.js on our migration config js file, please pass in this command line option to node.js so that our environment file gets loaded!". So this has blocked us from adopting native .env file handling. There needs to be a mechanism *within your JS code* to load your environment, not *just* a command line option. And, no, NODE_OPTIONS will not work either. That's just another environment variable we have to find a way to guarantee has been set.
I do agree it needs a programatic API. There was talk of being able to put it in NODE_OPTIONS npmrc file, but im not sure that works nor is it a good solution IMO
I'm a big fan of node SQLite, Environment and Watch. Approaching node is so much easier now for new comers with these features.
Scott you're talking about Channels (Go Pipe in the Podcast). Its a concurrency primative. It would be more similar to streams in JS but 100x better.
Great talk. Exciting to see this thing get patched together into a RAD system for embedded systems, with Typescript support! :)
You should have Charlie Marsh on to talk about what he is doing to make Python "just work". In the past he has referenced how he is trying to make the python ecosystem more like TypeScript. Especially with the AI hype where TS/JS devs might be looking at Python it might be a good intro to listeners who have tried python in the past but got frustrated with installation and package management.
Charlie created Ruff, a python linter and uv, a python package manager. They are also working on a type checker and LSP
Vitest has better assertions and such but node test is really quite good and just having no extra dependency is awesome. Plus it’s lightning fast. I don’t use many mocks but spies seem to work fine for me for the occasional use case. Yah no need for anything else except mock service worker for http testing
Squeal gang rise up
Sqlite in node, could be used for stuffs like a cache system, probably a direct replacement of redis?
I just save the file as .mjs extension and it allows ESM import statements vs require statements.
Now we just need sqlite in browsers. I hate that it is not there as a feature. I know there are option to get it their but I never understood why browsers decided to not add it.
One annoying thing about the way they have implemented the .env support as a node.js command line option: What if you need to call something else that invokes node.js, but you need your .env to be loaded?
We use sequelize, for which we have to run migrations using the sequelize CLI. Somewhere deep inside of the sequelize CLI, they invoke node.js on our migration configuration .js file. With dotenv middleware, we can load our environment within that config file. But we have no way to tell the sequelize CLI, "Hey, when you launch node.js on our migration config js file, please pass in this command line option to node.js so that our environment file gets loaded!". So this has blocked us from adopting native .env file handling. There needs to be a mechanism *within your JS code* to load your environment, not *just* a command line option.
And, no, NODE_OPTIONS will not work either. That's just another environment variable we have to find a way to guarantee has been set.
I do agree it needs a programatic API. There was talk of being able to put it in NODE_OPTIONS npmrc file, but im not sure that works nor is it a good solution IMO
node:process comes with a loadEnv function for just that
@@mospired oh perfect! I had missed that
Ahhhwww but I like being next to other eagles 😢 hehe