- Remove
sandboxSetup
parameter frommkEnvironment
, add lower-leveladdToSetup
helper function to use instead. - Add support for Python projects through
garn.python.mkPythonProject
.
- Add
garn.javascript.prettier
plugin to automatically format and check javascript formatting using prettier. - Add
garn.callFlake
helper to allow importing flake files by local path. - Add
garn.importFlake
helper to allow importing flake files by url, e.g. from GitHub.
- Allow entering top-level
Environment
s withgarn enter
. Environment.mkNpmProject
andEnvironment.mkYarnProject
don't expose adevShell
field anymore, since that was a duplicate ofdefaultEnvironment
.- Fix jsdocs rendering
- Fix type safety around
Executable
s exported frommkHaskellProject
.
- Fix locale warnings on MacOS
- Make
executables
a list, and optional, inmkHaskellPackage
- Add
addCabalExecutable
to Haskell projects - Make
garn init
on Haskell projects fill in theexecutables
based on the cabal file. - For git repositories, add untracked files to build sandboxes for
Check
s andPackage
s. - Tweak the API for creating
Environment
s, making it easier to createEnvironment
s that have a source directory - Fix needing to use
--
twice ingarn run
in order to pass arguments to executables. - Create a new
edit
command. This opens VSCodium with deno LSP already set up, in exactly the same way as the oldeditGarnConfig
function did. (That function has now been removed.)
- Allow to build packages that are nested within projects with
garn build projectName.packageName
. - Allow to build top-level packages with
garn build packageName
. - Allow adding packages to projects with
.addPackage("packageName", "{build script writing to $out}")
. - Add
Project.add
, a function to apply so-calledPlugin
s to a project. This provides a nice way to bundle up more complex project modifications into a single declaration. It also allows to usePlugin
s from other sources, including third-party libraries. - Expose some useful nested nix packages in the garn
nixpkgs.ts
package. - Add
garn.javascript.vite
, aPlugin
that adds fields for bundling vite projects into aPackage
. - Add
garn.deployToGhPages
plugin to help publishPackages
to github pages.
- Added a
--version
flag - Added simpler overloads for
Project.addCheck
,Project.addExecutable
,Project.check
,Project.shell
, etc.. So you don't have to use the unusual backtick syntax. - Added
golang
version1.21
. garn run
handles non-zero exitcodes better:- Exit codes of child-processes are forwarded by
garn
. garn
doesn't output a confusing error message about a failed child-process.
- Exit codes of child-processes are forwarded by
- Don't include unused flake inputs in the generated flake files.