Quick Lucky addons with the Bloat gem
June 30, 2020 by Stephen Dolan
Introduction
In newer tools with less fleshed out community tooling, adding libraries can be a pain. For example, when I first got started with the excellent Lucky web framework, I had a hard time getting TailwindCSS set up so that I could scaffold a simple app and see how it worked.
I also noticed the Rails community solving this painpoint with sites like RailsBytes, and yearned for something similar that I could use in any application and any framework.
The Bloat Gem
To that end, I created the bloat
gem (https://github.com/stephendolan/bloat), which is essentially just a wrapper around Thor’s apply
method. It allows you to execute templates from RailsBytes or any other template repository with Thor commands within any directory structure.
Example: TailwindCSS in Lucky
Adding TailwindCSS to a Lucky app is as simple as:
gem install bloat
cd {lucky_app_directory}
bloat with https://railsbytes.com/script/VeKsGg
You can see the content of that template, which simply applies the Laravel Mix TailwindCSS Install instructions to the Lucky file structure here.
Example: StimulusJS in Lucky
StimulusJS can be set up just as easily, with a few more benefits like asking the user if they want a sample file, and, if so, adding a hello_controller.js
file with some comments explaining the different components!
gem install bloat
cd {lucky_app_directory}
bloat with https://railsbytes.com/script/zl0sKQ
You can see the contents of this template here.