Skip to content

v1.33.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 13 Mar 18:12
· 1 commit to master since this release

💥 Breaking

  • Changed the way to disable the TypeScript toolchain in moon.yml.
    # Before
    toolchain:
      typescript:
        disabled: true
    # After
    toolchain:
      typescript: false # or null
  • 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.

⚙️ Internal

  • Updated proto to v0.47.4 (from 0.45.2).
  • Updated Rust to v1.85.
  • Updated dependencies.
  • Removed JSON schemas from the GitHub release.