You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Removed the --include option from moon docker scaffold (it's been long deprecated). Use the docker settings instead.
🚀 Updates
The TypeScript toolchain is now powered by a WASM plugin. This is our
first step in supporting plugins in core. We chose TypeScript as our 1st plugin because it was the
simplest of all the toolchains, and primarily was used for project syncing.
Plugins must be downloaded from the internet, so a connection is required on the first run. The
plugin is then cached locally.
Most of the code had to be rewritten but we tried to keep as much parity as possible. Please
report an issues or differences you encounter.
Because TypeScript is now a "true" toolchain, it will appear in the toolchains list for projects
and tasks. This is required since it runs operations in the context of the plugin.
All typescript settings in .moon/toolchain.yml can now be defined as overrides in moon.yml.
Added new toolchain plugin integrations for specific features.
Integrated into the SyncWorkspace and SyncProject actions.
Integrated into all moon docker commands.
Integrated into the task hashing process.
Added a new moonx executable, which is a shorthand for moon run.
Right now the implementation uses Bash/PowerShell shims, but will be migrated to a true binary
executable once we rework our release process.
The shims are dynamically created the first time moon runs, relative to the executed moon
binary.
Added support for moon run ~:build, which will run the build task in the closest project
(traversing upwards).
Added $XDG_DATA_HOME support when detecting the moon store. Will be used if $MOON_HOME is not
set, and will fallback to $HOME/.moon.
Added elapsed/timing information to child processes and WASM calls within logs.
Improved the handling of CTRL-C, CTRL-BREAK, and other signals on Windows.
Updated moon init with toolchain plugin support.
Updated toolchain.default in moon.yml to support a list of IDs.
Updated unstable_remote.auth.headers to support environment variable interpolation.
Updated generated JSON schemas at .moon/cache/schemas to dynamically include toolchain plugin
configuration.
Updated file hashing (via git hash-object) to continously pipe stdin to avoid hanging processes.
Deprecated hasher.batchSize in .moon/workspace.yml.
🧩 Plugins
Added new toolchain WASM APIs.
register_toolchain - Registers the toolchain and provide metadata for detection and other
purposes.
initialize_toolchain - Provides prompts to use during moon init to gather settings values.
define_toolchain_config - Defines a configuration schema for use within JSON schemas.
define_docker_metadata - Defines metadata related to docker commands.
hash_task_contents - Injects content into the task hashing process.
prune_docker - Custom operations to run during docker prune.
scaffold_docker - Custom operations to run during docker scaffold.
sync_project - Runs syncing operations per project (during the SyncProject action).
sync_workspace - Runs syncing operations at the workspace root (during the SyncWorkspace
action).
Updated download_extension to v0.0.9.
Updated migrate_nx_extension to v0.0.9.
Will no longer remove Nx configs. Pass --cleanup to remove them.
Updated migrate_turborepo_extension to v0.1.6.
Will no longer remove Turborepo configs. Pass --cleanup to remove them.
🐞 Fixes
Fixed an issue where file hashing (git hash-object) would hang when there are too many files
being hashed.