The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
... instead of using the uber-JAR release.
Packing the JARs together causes the JavaScript macro functionality not
to work, as the scripting interface uses a ServiceLoader to find
language providers via text file resources that share a common name.
With one file per JAR, this works great. When multiple files with the
same name are in one uber-JAR, all but one of them are shadowed, and
the JavaScript language provider was getting lost.