I'm excited by this. For simple server side rendered web apps, which Phoenix excels at, it's a bummer to have to deal with the constant churn of the npm ecosystem in order to bundle your CSS and add a little JS (like that required for LiveView). Plus, currently a fresh Phoenix install will greet you with warnings about several "moderate" security vulnerabilities according to `npm audit` which is not a good look, since they're not actually vulnerabilities in this context.
I'm quite excited about Phoenix 1.6. From peeking at the Livebook source code, which has been running on 1.6-dev, it looks like they're overhauling how components are written, and it looks almost a little bit like react/jsx. Would love to read more discussion about this, but haven't found any.
This is fantastic. There is no bigger drag on productivity in my Elixir projects than the time I spend having to deal with Node related things. I've written entire subsections of build scripts just to address it.
Nice to be able to remove it unless it's actually needed in the project for some reason.
The JS required by Phoenix is included in the Elixir dependency, and relatively referenced by the build script.
As for other JS dependencies, if you need them, you can add npm, webpack, or whatever you need. But they're making the statement here that not all web apps will need that. LiveView, for instance could get you pretty far.
But this is distinguishing between JS in your app and JS in your build system, which until recently was necessary even for just bundling your CSS and JS.
Right, that makes sense. I've been running without builds (for "fatter" frontends) and only using npm for package/library downloads lately and es modules for imports. If a library needs build steps I use esbuild.
I'm quite excited about Phoenix 1.6. From peeking at the Livebook source code, which has been running on 1.6-dev, it looks like they're overhauling how components are written, and it looks almost a little bit like react/jsx. Would love to read more discussion about this, but haven't found any.