Sean argues that the tools and technologies you find being recommended for a JS project are confusing, probably overestimate the complexity of your project, that they over-engineer and complicate your application way above your needs. That’s a valid point, but I don’t buy it as the main reason for the craziness.
It’s not easy, it’s the same as with any other language and platform. You’ll need:
- a build tool to get the output
- a framework or the main library to organize your code around
- a dependency management tool to import that essential left-pad code
- tests: unit / integration / acceptance
- compilers and transpilers, and obfuscators, and minifiers, and optimizers
- many other things you need but don’t like to think about
The part that is confusing is that you can totally sacrifice using any of these. But when you strip all of them you’ll end up with an application like this:
But you don’t really want that, do you?
Unfortunately few things work like that.