I'm currently playing with async-await in Mojolicious. It's great.
When I want to call a lot of external commands, I noticed that there is no way to limit concurrent calls to external commands. So I tried creating Mojo::Promise::Limitter.
This module provides details about the current CI environment. This is a perl port of https://github.com/watson/ci-info.
App::FatPacker::Simple or its frontend fatpack-simple helps you fatpack a script when YOU understand the whole dependencies of it.
App::FatPacker::Simple is a subclass of App::FatPacker. Let me explain why I wrote this module.
App::FatPacker brings more portability to Perl, that is totally awesome.
As far as I understand, App::FatPacker does 3 things: (a) trace dependencies for a script, (b) collects dependencies to fatlib directory and (c) fatpack the script with modules in fatlib.
As for (a), I often encountered problems. For example, modules that I don't want to trace trace, conversely, modules that I DO want to trace do not trace. Moreover a module changes interfaces recently, so we have to fatpack that module with new version, etc. So I think if you author intend to fatpack a script, YOU need to understand the whole dependencies of it.
As for (b), to locate modules in a directory, why don't you use carton or cpanm?
So the rest is (c) to fatpack a script with modules in directories, on which App::FatPacker::Simple concentrates.
That is, App::FatPacker::Simple only fatpacks a script with features:
Path::Maker helps you make files or directories as scaffolding. When I wrote a CLI script for mojo, I found that Mojolicious::Command is very useful. This module provides some functionality of that module with template syntax Text::MicroTemplate.