moon

A task runner and repo management tool for the web ecosystem, written in Rust.

MIT License

Downloads
294.4K
Stars
2.6K
Committers
50

Bot releases are visible (Hide)

moon - v1.19.1

Published by github-actions[bot] 10 months ago

🐞 Fixes

  • Fixed proto binary not being available in a Dockerfile when running moon docker commands.
  • Fixed our @moonrepo/cli postinstall script not working correctly for Bun Arm64.
moon - v1.19.0

Published by github-actions[bot] 10 months ago

💥 Breaking

  • Removed the experiments.interweavedTaskInheritance setting from .moon/workspace.yml.
    Interweaved inheritance is now always enabled (was previously true by default).
  • Removed the experiments.taskOutputBoundaries setting from .moon/workspace.yml. We opted to
    remove boundaries entirely, as they caused more problems than solved. Task outputs may now overlap
    without issue.

🚀 Updates

  • Updated implicitDeps in .moon/tasks.yml and task deps in moon.yml to support arguments and
    environment variables for the dependency target.
  • Updated the action graph and pipeline to not run the same target (but with different arguments
    and environment variable variations) in parallel, to avoid unexpected collisions.
  • Updated VS Code extension to support multiple VS Code workspace folders.
  • Improved code generation and templates:
    • Added a destination field to template.yml, to customize a default location.
    • Added a extends field to template.yml, allowing templates to extend and inherit other
      templates.
    • Updated [var] syntax to support filters: [var | camel_case].

🧩 Plugins

  • Updated bun_plugin to v0.7.
  • Updated node_plugin and node_depman_plugin to v0.7.
  • Updated rust_plugin to v0.6.

⚙️ Internal

  • Updated Rust to v1.75.
  • Updated proto to v0.26.4 (from v0.25).
moon - v1.18.5

Published by github-actions[bot] 10 months ago

🚀 Updates

  • Reworked duplicate project ID/alias detection to be more accurate. Will also now error instead of
    warn when a duplicate is detected.
    • For aliases, the error can be disabled with the new experiments.strictProjectAliases setting
      in .moon/workspace.yml.
    • For project IDs, the error can not be disabled, as conflicting IDs will cause issues with the
      project graph.

🐞 Fixes

  • Fixed glob based project locating to not log warnings when a file is found and it starts with .
    (ignore dotfiles).
  • Fixed project aliases potentially overwriting a project with the same name.
moon - v1.18.4

Published by github-actions[bot] 10 months ago

🚀 Updates

  • Updated the proto installation step to download, unpack, and install using Rust, instead of
    relying on our Bash/PowerShell scripts. This should remove the requirement that openssl, tar, and
    other environment tools must exist.

⚙️ Internal

  • Updated proto to v0.25.3.
moon - v1.18.3

Published by github-actions[bot] 10 months ago

🐞 Fixes

  • Fixed more issues in relation to custom project IDs not resolving correctly.

⚙️ Internal

  • Improved some error messages with more information.
moon - v1.18.2

Published by github-actions[bot] 10 months ago

🚀 Updates

  • Silenced proto migration warnings when ran in the context of moon.

🐞 Fixes

  • Fixed an issue where @dirs and @files tokens didn't always work correctly in outputs.
  • Fixed the @moonrepo/cli package pulling in different @moonrepo/core-* versions

⚙️ Internal

  • Updated proto to v0.25.2.
moon - v1.18.1

Published by github-actions[bot] 10 months ago

🐞 Fixes

  • Fixed an issue where we would install proto even when not required.
  • Fixed an issue where implicit dependencies were not resolving correctly when projects were
    renamed.
moon - v1.18.0

Published by github-actions[bot] 10 months ago

🚀 Updates

  • Rewrote toolchain based task running to use a path based approach.
    • Instead of manually locating an executable, we now rely on PATH to locate the executable.
    • Non-system tasks can now be wrapped in a shell using the shell option.
    • This approach will now benefit from proto shims and binaries.
    • We'll also download and install the proto binary if it does not exist.
  • Reworked the moon init command.
    • Will no longer scaffold the toolchain configuration by default.
    • The tool to scaffold into a toolchain can be passed as an argument.
    • The path to initialize in is now behined the --to option.
    • Added support for the bun tool.
    • Simplified the workflow overall.
  • Updated moon.yml to support customizing the project name using the id field.
    • Can be used to override the project name derived in .moon/workspace.yml.
  • Added a MOON_INSTALL_DIR environment variable, to control where the moon binary is installed
    to.

🐞 Fixes

  • Fixed moon upgrade failing when not ran in a moon workspace.
  • Fixed CODEOWNERS being written with double trailing newlines.

🧩 Plugins

  • Updated bun_plugin to v0.6.
  • Updated node_plugin and node_depman_plugin to v0.6.1.
  • Updated rust_plugin to v0.5.

⚙️ Internal

  • Improved string allocation and performance for queries, task tokens, and process commands.
  • Improved remote caching flow and handling.
  • Updated proto to v0.25.
moon - v1.17.4

Published by github-actions[bot] 11 months ago

🐞 Fixes

  • Fixed an issue where executing moon (and indirectly proto) would run into privilege access issues
    on Windows.
  • Fixed typescript.includeProjectReferenceSources and typescript.syncProjectReferencesToPaths
    settings not including project references that were manually added (not auto-synced).
  • Fixed the "a project already exists with alias" warnings when using Bun and Node together.

⚙️ Internal

  • Added canary release support.
  • Enabled wasmtime caching, which should improve performance of WASM plugins by 10-20%.
  • Updated proto to v0.23.7.
moon - Canary

Published by github-actions[bot] 11 months ago

This canary release corresponds to the commit [314d36135553b58d626d03689631b29e36d18404].

moon - v1.17.3

Published by github-actions[bot] 11 months ago

🐞 Fixes

  • Fixed an issue where we would fail to find Cargo binaries on Windows.

⚙️ Internal

  • Updated proto to v0.23.3.
moon - v1.17.2

Published by github-actions[bot] 11 months ago

🐞 Fixes

  • Fixed an issue where cargo-binstall would error when trying to install it and it already exists.
moon - v1.17.1

Published by github-actions[bot] 11 months ago

🐞 Fixes

  • Fixed the wrong version being reported by the CLI.
moon - v1.17.0

Published by github-actions[bot] 11 months ago

🚀 Updates

  • Integrated full Bun support (tier 1-3).
    • Will download and install Bun into the toolchain when a version is configured.
    • Will parse the bun.lockb lockfile to extract and resolve dependencies.
    • Will hash manifests and inputs for Bun specific caching.
    • Added a bun setting to .moon/toolchain.yml.
    • Added a toolchain.bun setting to moon.yml.
    • Updated moon bin and moon docker commands to support Bun.
    • Updated task platform to support "bun".
  • Improved TypeScript support.
    • Added a typescript.root setting to denote the TypeScript root.
    • Added a typescript.includeSharedTypes setting, for syncing a shared types path to all
      project's include.
    • Added a typescript.includeProjectReferenceSources setting, for syncing project reference files
      to all project's include.
    • Updated typescript.syncProjectReferencesToPaths setting to always include the wildcard, and
      not require an index file.
    • Improved project reference syncing and edge case handling.
  • Improved JavaScript support.
    • Added bun.rootPackageOnly and node.rootPackageOnly settings to support the "one version
      rule" pattern.
    • Updated automatic dependency linking to use the build scope instead of peer scope. This
      should alleviate some of the pain points with package.json syncing.
moon - v1.16.5

Published by github-actions[bot] 11 months ago

🐞 Fixes

  • Fixed an issue where codegen would merge JSON/YAML files with the incorrect source.
  • Updated file traversal to not walk outside of the workspace root.

⚙️ Internal

  • Updated Rust to v1.74.
  • Updated proto to v0.23.0.
  • Updated dependencies.
  • Updated logs to now include nanoseconds.
moon - v1.16.4

Published by github-actions[bot] 11 months ago

🚀 Updates

  • Update project graph hashing to include git ignored moon.yml files.

🐞 Fixes

  • Fixed Yarn v1.22.x download not unpacking correctly.

🧩 Plugins

  • Updated Yarn node_depman_plugin to v0.5.1.
moon - v1.16.3

Published by github-actions[bot] 11 months ago

v1.16.2 ran into issues building and releasing, so does not exist.

🚀 Updates

  • Updated projects globs to support ending in moon.yml.
  • Updated node.dependencyVersionFormat to fallback to a supported format when the chosen
    node.packageManager does not support the configured (or default) version format.
  • Updated to proto v0.22.0.

🐞 Fixes

  • Fixed an issue where dependencies were being injected into the root package.json, when a
    root-level project was dependending on non-root project tasks.

🧩 Plugins

  • Updated bun_plugin to v0.5.
  • Updated deno_plugin to v0.5.
  • Updated go_plugin to v0.5.
  • Updated node_plugin and node_depman_plugin to v0.5.
  • Updated python_plugin to v0.2.
  • Updated rust_plugin to v0.4.
  • Updated schema_plugin (TOML) to v0.5.
moon - v1.16.1

Published by github-actions[bot] 12 months ago

🐞 Fixes

  • Fixed moon ci not treating dependents as "CI only" when running locally.
  • Fixed the MQL parser failing on projects that contain a ..
  • Fixed JSON comment stripping not handling docblock styled comments (/** **/).
moon - v1.16.0

Published by github-actions[bot] 12 months ago

🚀 Updates

  • Added Bun as a supported Node.js package manager: node.packageManager: 'bun'.
  • Added components and targets support for the Rust toolchain.
    • Added rust.components and rust.targets settings to .moon/toolchain.yml.
    • Will automatically be installed with rustup when the pipeline is ran.
  • Added a MOON_TOOLCHAIN_FORCE_GLOBALS environment variable, that will force all toolchain tools to use the global binary available on PATH, instead of downloading and installing.
  • Added an improved task inheritance chain resolver.
    • Global and local tasks are now interweaved within the chain, where as previously global was built first, then local.
    • To fallback to the previous behavior, set experiments.interweavedTaskInheritance: false in .moon/workspace.yml.
  • Added a new project type automation, for projects like E2E and integration testing.
  • Updated action graph cycle detection to list all nodes in the cycle (when detectable).
  • Updated all npx calls to use a package manager equivalent. For example: yarn dlx, pnpm dlx, bunx.
  • Updated to support Yarn v4.

🐞 Fixes

  • Fixed an issue where moon ci and git would fail if there's only 1 commit on the base branch.
  • Fixed an issue where runInCI was not respected when a task is a dependency of an affected task.
  • Fixed an issue where the task replace merge strategy would not apply for empty values.

⚙️ Internal

  • Updated dependencies.
  • Updated to proto v0.21.0.
  • Pinned proto plugins to a fixed version instead of using latest.
moon - v1.15.4

Published by github-actions[bot] 12 months ago

🐞 Fixes

  • Fixed an issue where pnpm would fail to dedupe when its toolchain version is not using a
    fully-qualified version.
  • Fixed an issue where PROTO_OFFLINE wouldn't use global binaries when available.

⚙️ Internal

  • Updated to proto v0.20.3.
Package Rankings
Top 3.41% on Npmjs.org
Badges
Extracted from project README
Contributors