It’s only over a month late (I blame the Rainbow of Death), and didn’t contain many of the features I’d originally anticipated, but go-script-bash v1.4.0 is finally out! A brief summary of some of the major new features:
- The test suite now runs a minimum of O (5.3x) faster on UNIX and up to O (18x) faster on Windows, thanks to optimizations to the framework’s test helpers and to my mbland/bats fork of the Bats framework that eliminate as many subshells and other child processes as possible. On Windows the improvement is especially dramatic because forking new processes on Windows is over 50x more expensive than on UNIX.
- There are lots of new Bats test helpers, both generic and framework-specific.
go-templatebootstrap script makes it easier to write a top-level
./goscript and start using it right away.
_GO_STANDALONEmode makes it possible to write standalone programs, instead of only project-specific scripts that always execute from the project root (i.e.
- The command script and library module precedence is more natural, and allows for easy test stub injection.
./go getcommand makes it easy to fetch single files or shallowly clone a Git repository in a uniform way.
./go newcommand makes it easy to create a new command script, library module, or Bats test with minimal boilerplate.
- Plugins are now capable of being nested, searched, imported, and executed using a mechanism very similar to the node_modules search mechanism implemented by npm.
@go.select\_optionmakes it easy to write basic interactive user prompts.
- Various bug fixes.
I have created a v1.5.0 milestone already, but it’s highly subject to change, as I’m still in the process of getting my business together, and I intend to prioritize the importation of features from mbland/certbot-webroot-setup (and continue the "Switching to Let’s Encrypt with HPKP" series) over implementing the features currently listed.