montogeek

montogeek

Hi!

I was going to post this in GitHub but I think it is better here.
Would you accept a PR to upgrade to webpack 5?

Cheers!

Showing Posts 1 to 10

mindok

mindok

I’d say post to github (raise an issue with the offer of the PR) or the appropriate slack channel…

outlog

outlog

webpack5 is brand new - so it could be a stopper for people at present as the whole eco system has to catch up..

say I do phx new (that includes webpack5), and then want to drop in a react SPA, I’ll run into webpack5 issues.. so I would probably say some 6 months, before the entire system has caught up..

(that said a PR, showing how simple/complex the upgrade is would be awesome..)

montogeek

montogeek OP

Will create it then :slight_smile:

outlog

outlog

just be to clear I have no saying in PR/merging for phoenix, but from experience there is a philosophy of keeping the phoenix webpack config as simple/minimal as possible, so strive for that, and go for minimal changes/complexity/features..

webuhu

webuhu

@montogeek I could assist the PR.

hard-source-webpack-plugin could be removed in my understanding with webpack v5.
In dev.exs --watch-stdin needs to be replaced with --watch + --watch-options-stdin.

In case for keeping it as simple/minimal as possible,
I would propose to replace additionally within package.json:

  "repository": {},
  "description": " ",
  "license": "MIT",

with

"private": true,

Very opinionated, as I think webpack is to verbose,
I always also add --stats errors-only for deploy
and --stats minimal for development to the webpack commands.

ondrej-tucek

ondrej-tucek

Well, from my recently experience with webpack 5, when I replaced --watch-stdin to --watch --watch-options-stdin then watching files for updates stopped working. For instance, when I changed some content of css/scss/… no compilation happened. So I ended up only with --watch, but a few deprecation warning shown during compilation. Also if you use mini-css-extract-plugin you have to add publicPath. In my case was successful

...
test: /\.(sass|scss|css)$/,
use: [
  {
    loader: MiniCssExtractPlugin.loader,
    options: {
      publicPath: '/',
    }
  },
...
polypush135

polypush135

Wepack 5 breaks the way I was chunking my file names. :frowning:

Specifically, Output.chunkFilename is dead, hard-source-webpack-plugin is broken
And I’ve had to fix the way I bundle wasm and how I resolve two libs now that they don’t include the core nodejs libs.

https://github.com/MorphicPro/morphic.pro/pull/254/files#diff-d39fdca60f5c65460eef279b514c898ded5b0ac5eab453ab1d4fe9d54032a2dbR28-R39

At the end of the day Output.chunkFilename has prevented me from fully upgrading because I’m not sure how to still bundle out my vendor.bundle.js and it now looks to just be broken.

I really hate webpack.

montogeek

montogeek OP

I won’t work on this, discouraged by these statements:

I really hate webpack.

Feel free anybody to pick it.

mindok

mindok

I think you should be encouraged rather than discouraged! I think many of us have been frustrated with webpack from time to time and that frustration can result in saying something without thinking about the consequences. I personally find it difficult to work with. But it is an essential part of modern web apps so I’m delighted that someone is putting their hand up to smooth out the bumps of a version upgrade.

polypush135

polypush135

Imagine you lived in a world where everyone massaged everyone’s ego because everyone was too sensitive to say what they really feel. Yeah, I hate webpack, Who fucking cares. And guess what, It’s possible to make bad software and it’s possible that software causes real pain for their users. Any good dev knows the first rule to good design is to be empathetic so if anything I’m doing the devs of Webpack a favor by not sugar-coating how painful the process currently is. That should be in its self an indication that more energy really should go to identify the problems they cause for their users otherwise they may not have users to care anymore. And if you are so sensitive that the mention of dislike persuades you from trying then boy you are in the wrong industry. Everyone will hit these points in their dev career, try to move past the small talk and not be so squishy.

Also in my context I’m not using the default Phoenix webpack config, because I like to chunk out my vendor and my app into separate files which is where I currently hit the wall. So your efforts will not be likely impacted by the issues I’ve identified.

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
axelson
Hi there! :wave: @frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
georgeguimaraes
Just published claude-code-elixir, a plugin marketplace for Claude Code with Elixir support. These are the plugins I’ve been using for my...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews