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.26.0

Published by github-actions[bot] 4 months ago

💥 Breaking

  • Reworked webhooks to more closely align with our current data structures.
    • Renamed target.* events to task.*, and *.finished to *.completed.
    • Removed the pipeline.aborted event. Instead, an aborted field is now passed to
      pipeline.completed.
    • Replaced the action field with a new node field within task.* events.
    • Reworked pipeline.completed entirely. Instead of calculating values for you, we now pass all
      results allowing you to calculate them yourself.

🚀 Updates

  • Rewrote the actions/tasks pipeline from the ground-up. Is currently experimental and must be
    enabled with the experiments.actionPipelineV2 setting in .moon/workspace.yml.
    • Increased performance.
    • Better concurrency handling and scheduling.
    • More accurately monitors signals (ctrl+c) and shutdowns.
    • Tasks can now be configured with a timeout (options.timeout setting).
    • Some operations within actions are now ran in parallel.
    • We renamed many of the action labels (SyncNodeProject(app) -> SyncProject(node, app)).
  • Added a global --dump flag, that will dump a trace profile that can be inspected in
    chrome://tracing.
  • Updated moon completions command to support Nushell.
  • Updated task option unixShell with new options: ion, nu (nushell), pwsh (powershell), xonsh.
  • Updated task option windowsShell with new options: elvish, fish, nu (nushell), xonsh.
  • Updated CLI command execution to be more performant, and to reduce our usage of concurrent locks.
    • Internal components (like cache engine, or project graph) are now lazy-loaded when required,
      instead of created upfront.

⚙️ Internal

  • Updated proto to v0.37.1 (from v0.36.2).
  • Updated Rust to v1.79.
moon - v1.25.6

Published by github-actions[bot] 4 months ago

🐞 Fixes

  • Fixed a potential deadlock when installing tools.

⚙️ Internal

  • Updated proto to v0.36.2 (from v0.36.0).
moon - v1.25.5

Published by github-actions[bot] 4 months ago

🐞 Fixes

  • Fixed an issue where multiple Bun tools would try to install and collide.
  • Fixed an issue where the package.json packageManager field would be set with an invalid
    version specifier.
moon - v1.25.4

Published by github-actions[bot] 4 months ago

🚀 Updates

  • Updated bun.version and node.bun.version to stay in sync when one is defined and the other
    isn't. This helps to avoid tool discrepancies.

🐞 Fixes

  • Fixed an issue where persistent tasks depending on each other would sometimes error with
    "Encountered a missing hash".
  • Fixed nightly and canary releases not showing the correct version in moon --version.
moon - v1.25.3

Published by github-actions[bot] 4 months ago

🚀 Updates

  • Improved error messages around git version and worktree parsing.

🐞 Fixes

  • Fixed git version parsing when the version contains invalid semver parts.

🔋 Extensions

  • Updated download to v0.0.5.
  • Updated migrate-nx to v0.0.5.
  • Updated migrate-turborepo to v0.1.2.
    • Added Turborepo v2 support.
moon - v1.25.2

Published by github-actions[bot] 5 months ago

🚀 Updates

  • Added a check to moon docker scaffold that ensures that .moon/cache is ignored in a root
    .dockerignore file. This helps to avoid interoperability issues.
  • Added more logs to moon docker commands to help uncover future issues.

🐞 Fixes

  • Fixed an issue where noop tasks would not cache / invalidate cache. This is a regression from
    the recent task runner changes.

⚙️ Internal

  • Updated proto to v0.36.0 (from v0.35.4).
moon - v1.25.1

Published by github-actions[bot] 5 months ago

🚀 Updates

  • Rewrote process failure error messages to include exit status information. This should help
    uncover processes killed by signals, and help debug the -1 exit code issues.
moon - v1.25.0

Published by github-actions[bot] 5 months ago

💥 Breaking

  • Removed the following webhook events associated with task outputs: target-output.archiving,
    target-output.archived, target-output.hydrating, target-output.hydrated,
    target-output.cache-check.

🚀 Updates

  • Rewrote the task runner from the ground up:
    • Improved handling and reliability of output archiving and hydration.
    • Streamlined the task execution (child process) flow.
    • Now tracks metrics for individual operations, like hash generation, output hydration, task
      execution, and more. Can be inspected in the run report.
  • Added a --summary flag to moon run and moon check that will include a summary of all actions
    that were processed/failed within the pipeline. This is the same output used in moon ci.
  • Added a new console reporting layer that handles the rendering of output in the terminal.
    • This enables us to support additional reporters in the future, each with unique UIs.
    • Slightly tweaked our current UI rendering. You may notice some differences.
  • Updated external configuration files (via https extends) to be cached for 24 hours.
    • This will fix issues with offline mode.
  • Greatly reduced the amount of concurrent locks being held during task execution. May see slight
    performance improvements.

🐞 Fixes

  • Fixed an issue where actions within the run report were not reflecting the correct status of their
    last execution attempt.
  • Fixed an issue where "have outputs been created" checks would fail if outputs only contained
    negated globs, coupled with literal paths.
  • Fixed an issue where .prototools in the workspace root was not being respected when running moon
    commands in a sub-directory.
  • Fixed PROTO_*_VERSION environment variables being set to *, resulting in unexpected versions
    being resolved.

⚙️ Internal

  • Updated proto to v0.35.4 (from v0.34.4).
  • Updated macOS binaries to be built on macos-12 instead of macos-11.
moon - v1.24.6

Published by github-actions[bot] 5 months ago

🐞 Fixes

  • Reworked the binary provided by @moonrepo/cli to work better on Windows.
moon - v1.24.5

Published by github-actions[bot] 5 months ago

🐞 Fixes

  • Fixed an issue where proto managed tools may error with "Failed to detect an applicable version".
moon - v1.24.4

Published by github-actions[bot] 6 months ago

🐞 Fixes

  • Fixed a regression where runInCI was being overzealously applied to moon run commands.
  • Fixed generated VCS hooks not containing a trailing newline.
moon - v1.24.3

Published by github-actions[bot] 6 months ago

🐞 Fixes

  • Fixed an issue where internal tasks would still run when running a task using "closest project"
    detection.
  • Fixed an issue where task's with runInCI weren't always being filtered properly.
moon - v1.24.2

Published by github-actions[bot] 6 months ago

🐞 Fixes

  • Fixed task deps.env not supporting variable substitution.
  • Fixed an issue where Git hooks would overwrite non-local hooks. The core.hooksPath setting is
    now only used if the path is within the current repository.
moon - v1.24.1

Published by github-actions[bot] 6 months ago

1.24.1

🐞 Fixes

  • Fixed an issue where versions in .prototools weren't being respected.
  • Fixed task deps.args and deps.env not expanding tokens correctly.
moon - v1.24.0

Published by github-actions[bot] 6 months ago

🚀 Updates

  • Added an experimental moon templates command, that lists all available codegen templates.
  • Added a --dependents flag to moon project-graph <id> and moon query projects, to include
    downstream dependents of a focused/affected project.
  • Added a runner.autoCleanCache setting to .moon/workspace.yml, allowing the post-run clean
    mechanism to be controlled.
  • Updated moon ci to automatically determine base/head revisions based on your current CI provider
    (when applicable).
  • Updated moon generate:
    • When passing variables as command line arguments, they are now entirely modeled after the
      template configuration.
      • Booleans and negated booleans now work better.
      • Numbers now support negative values.
      • Multiple values can now be passed for enums when multiple is enabled.
    • If a variable value is passed as an argument, we no longer prompt for it.
    • Internal variables will now error when passed as an argument.
  • Updated action graph and project graph visualization:
    • Slightly tweaked the colors to be easier to read.
    • Updated edges to use chevron arrows.
    • Added a new layout system to organize node/edges, controlled by the ?layout= query parameter.
    • Supported layout options: dagre (default), klay, grid, breadthfirst
  • Updated root-level tasks to have no inputs by default, instead of **/*. This is typically what
    users want, to avoid greedy tasks.

🐞 Fixes

  • Fixed YAML schema validation not allowing custom languages for the project language field.
  • Fixed an issue where Bun and Node would both attempt to install dependencies, resulting in
    collisions.
    • To resolve this issue, we currently prioritize Node over Bun if both tools are enabled.
    • If you have both and want to use Bun, set Node's package manager to
      node.packageManager: 'bun'.
  • Attempted fix for "too many open files" when moon is cleaning cached artifacts.

⚙️ Internal

  • Updated proto to v0.34.4 (from v0.32.2).
moon - v1.23.4

Published by github-actions[bot] 6 months ago

🐞 Fixes

  • Fixed an issue where leading ./ in input/output globs would cause matching failures.
  • Fixed an issue where root-level projects were not being marked as affected in moon query.
  • Fixed an issue where moon docker scaffold would copy all sources when a project depends on a
    root-level project.
moon - v1.23.3

Published by github-actions[bot] 7 months ago

🧩 Plugins

  • Updated bun_plugin to v0.11.
    • Added Windows support.
    • Will now use the baseline build on x64 Linux when available.

⚙️ Internal

  • Updated proto to v0.32.2 (from v0.32.1).
moon - v1.23.2

Published by github-actions[bot] 7 months ago

🐞 Fixes

  • Fixed an issue where input environment variables weren't always being taken into account for task
    hashes.
moon - v1.23.1

Published by github-actions[bot] 7 months ago

🚀 Updates

  • Added more CI/CD platforms to check for.

🐞 Fixes

  • Fixed an issue where moon clean wasn't removing nested files.
  • Fixed an issue where package.json syncing would create incorrect link:s for Bun.
  • Fixed an issue where moon ext would trigger a "No such file or directory" error.

🔋 Extensions

  • Updated migrate-nx to v0.0.3.
    • Fixed invalid IDs when converting package.json names.
moon - v1.23.0

Published by github-actions[bot] 7 months ago

🚀 Updates

  • Added git: and npm: locators to the generator.templates setting in .moon/workspace.yml.
    • This allows templates to be packaged and managed outside of the workspace.
    • Locations will be cloned/downloaded on-demand.
  • Added an id setting to template.yml, so that templates can customize their name (instead of
    using the folder name).
  • Added a variables() function for templates that returns an object of all variables available.
  • Added new functionality for template variables in template.yml:
    • New order setting to control the order in which they are prompted for.
    • New internal setting that ignores values passed on the command line.
    • Updated enum default settings to support an array of values.
  • Added an internal task option, which marks tasks as internal only.
  • Updated task inheritance to support stack-based configuration, such as
    .moon/tasks/node-frontend.yml or .moon/tasks/bun-backend-application.yml.
  • Updated moon project and moon task to include the configuration files that tasks inherit from.
  • Updated moon task to include the modes it belongs to.

🐞 Fixes

  • Fixed an issue where a project's platform was being detected as node (when not enabled), and
    should have been bun. If you're using both bun and node in the same workspace, moon has a
    hard time detecting which should be used for what project. If you run into issues, explicitly set
    the platform in the project's moon.yml.
  • Fixed an issue where template files couldn't import/include/extends files from extended templates.
  • Fixed template enum variable default values being able to use a non-supported value.

⚙️ Internal

  • Configuration JSON schemas are now included within each GitHub release.
  • Updated proto to v0.32.1 (from v0.31.4).
  • Updated Rust to v1.77.
Package Rankings
Top 3.41% on Npmjs.org
Badges
Extracted from project README
Contributors