🚀 Updates
- Added Deno tier 3 support.
- Will download and install Deno into the toolchain when a
version
is configured. - Will parse the
deno.lock
lockfile to extract and resolve dependencies. - Will hash manifests and inputs for Deno specific caching.
- Added a
deno.version
setting to.moon/toolchain.yml
. - Added a
toolchain.deno
setting tomoon.yml
. - Updated
moon bin
andmoon docker
commands to support Deno.
- Will download and install Deno into the toolchain when a
- Added a new built-in extension,
migrate-turborepo
, with new functionality.- Replaces the previous
moon migrate from-turborepo
command. - Added Bun support behind a new
--bun
flag. - Added support for
globalDotEnv
,dotEnv
, andoutputMode
. - Scripts now run through a package manager, instead of
moon node run-script
. - Root-level tasks will now create a root
moon.yml
, instead of warning.
- Replaces the previous
- Added
unixShell
andwindowsShell
task options, so that the underlying shell can be configured
per task. - Added
bun.inferTasksFromScripts
setting to.moon/toolchain.yml
, for compatibility with
Node.js. - Added environment variable support to
fileGroups
. - Added a
@envs(group)
token function for referencing environment variables. - Added a
--quiet
global argument, for hiding non-critical moon output. - Deprecated the
moon node run-script
command. Run the task through a package manager instead,
likenpm run
oryarn run
. - Updated tasks with glob-like arguments to automatically enabled the
shell
option, so that glob
expansion works correctly. - Updated interactive tasks to not be shutdown when receiving a CTRL+C signal, and instead allow
them to handle it themselves, and cleanup if necessary. - Implemented a new console layer for writing to stdout/stderr.
- Logs are now buffered and written periodically.
- Previously they were written immediately, which required locking std each call.
- Should see some minor performance improvements.
🐞 Fixes
- Fixed an issue where the action graph would create incorrect nodes when a tool utilizes dependency
workspaces, and a project is not within the workspace. - Fixed an issue where glob based arguments were overlay escaped.
- Fixed console checkpoints (the 4 squares) showing the wrong working directory.
⚙️ Internal
- Updated proto to v0.30.0 (from v0.29.1).