Previously, I wrote about moving this very blog from Hugo to Eleventy and Parcel. Now that I’ve had a few months to experiment, I have decided to move away from Parcel and go with good ol’ webpack instead.
I tried, Parcel, I tried
Parcel advocates being a a zero configuration web application bundler. However, the project appears to be in limbo between versions 1 and 2, neither of which are currently working to my satisfaction. The first does not receive any feature additions anymore, yet the latest beta for version 2 dates back to November 2019.
Parcel 1 is unusable to me given its unstable watcher which, when paired with Eleventy’s watcher, constantly breaks down. I tried relying on Parcel’s beta version but found it far from being feature-complete. I might get back on this train when Parcel 2 implements and offers:
- More than just the default custom resolvers and namers,
- Responsive image support.
Yes, I get it, I’m pretty demanding. However, as I am planning to build a couple of static websites in the near future, I want to set myself up for success, and not be irritated by my boilerplate all the time.
Getting back to webpack
I mentioned in part 1 I attempted to use webpack to process HTML files back in the day. However, contrary to Parcel, webpack does actually have a somewhat consistent release schedule. And since I first experimented with webpack, a lot has changed.
From here, adding loaders for fonts and images, plugins for optimizations, and adapting the asset build name pattern a little bit I end up with a pretty solid build system: eleventy-webpack-boilerplate.
The One Constant: Eleventy
This whole post didn’t mention Eleventy once. That is because, ever since I started using it, it has been nothing but bliss. Everything works as expected, is documented properly, and is dead-easy to customize by adding a module or two. And with recent additions, like its Navigation Plugin, things couldn’t be better.
I am really looking forward to building more complex static sites with my current set-up. I am curious to see how things will work together once I am storing assets on a CDN, edit my content in Forestry, and deploy using Netlify or the like.