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

Published by github-actions[bot] about 1 year ago

💥 Breaking

  • To support the new project graph, the order and priority in which environment variables are
    resolved has changed. Previously it was task-level > .env file > project-level. Now it's
    task-level > project-level > .env file.

🚀 Updates

  • Rewrote the project graph from the ground-up:
    • Lazily built using a multi-pass approach.
    • Graph edges now indicate the type of relationship: development, production, build, peer.
    • Updated moon project-graph --json to include the fully expanded graph data.
  • Identifiers (project names, file groups, etc) can now be prefixed with underscores (_).
  • Added Poetry detection support for Python projects.
  • Added an experiments setting to .moon/workspace.yml.
  • Tasks
    • Environment variables in command and args are now substituted.
    • Task deps can now depend on tag targets (#tag:task).
    • Task env are now used when substituting values, alongside system-level.
    • Task outputs can now use token variables.
  • Codegen
    • Templates can be used as-is without rendering with Tera by appending
      a .raw extension.
  • Query language
    • Updated project to query both project name AND alias.
    • Added projectName for only querying by name.

🐞 Fixes

  • Fixed an issue where newer moonbase secret keys would fail to sign in.
  • Fixed an issue where @files token would not invalidate the project graph cache.
  • Fixed an issue where changing .env would not invalidate the project graph cache.

⚙️ Internal

  • Updated to proto v0.13.
  • Updated Rust to v1.71.
moon - v1.10.1

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Fixed an issue where .gitignore patterns weren't always applied correctly.
  • Fixed an issue where git hash-object commands would fail if moon was setup in a sub-directory.
  • Fixed an issue where our "upgrade moon" message would print when requesting JSON output
    (--json), resulting in JSON parsing errors.
moon - v1.10.0

Published by github-actions[bot] over 1 year ago

💥 Breaking

These changes are fixing edge cases that should not have been allowed, but may break existing
repos. If these changes become troublesome, we'll revert.

  • Tasks that configure the same outputs will now error. This change was made as multiple tasks
    writing to the same output location will cause caching and hydration issues.
  • If a dependency of a task failed to run or was skipped, then the parent task will now be skipped.

🚀 Updates

  • Added support for MOON_BASE and MOON_HEAD environment variables.
    • Will be used when diffing across branches or commits.
    • Works for both moon ci and moon run.
  • Added deno.bins setting to .moon/toolchain.yml.
  • Added hasher.ignorePatterns and hasher.ignoreMissingPatterns settings to
    .moon/workspace.yml.
  • Updated moon ci to include a summary of all failed actions.
  • Updated moon run to compare against the previous commit when running on the default branch and
    using --remote.
  • Updated rust.bins in .moon/toolchain.yml to support an object for each bin entry.
    • Can denote bins as CI or local only.
    • Can force install bins.
  • Updated the run report to include stderr/stdout for all attempts.

🐞 Fixes

  • Fixed an issue where failed target run attempts would not appear in the run report.

📚 Documentation

  • Added a new in-depth "Debugging a task" guide.

⚙️ Internal

  • Updated to proto v0.12.
  • Modernized the code generator and project constraints implementation.
  • Renamed runfile to snapshot throughout.
moon - v1.9.2

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Fixed a panic when attempting to execute an npm package who's binary is purely Bash.
moon - v1.9.1

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Fixed a panic when parsing the output of git --version.
moon - v1.9.0

Published by github-actions[bot] over 1 year ago

🚀 Updates

  • Added VCS hooks management support.
    • Added vcs.hooks and vcs.syncHooks settings to .moon/workspace.yml.
    • Added moon sync hooks command.
  • Added --clean and --force flags to moon sync codeowners command.
  • Updated moon init to:
    • Detect an applicable VCS provider and set the vcs.provider setting.
    • Convert a detected tool version to a fully-qualified semantic version.
  • Node.js
    • Moved syncing logic from InstallNodeDeps action to SetupNodeTool action. This includes
      syncing packageManager, engines, and version files. This should feel more natural.

🐞 Fixes

  • Fixed an issue where task hashes would be different between Windows and Unix machines.
    • Root cause is that arguments would use different path separators.
  • Fixed an issue where dev, start, or serve tasks would not always be marked as local.
  • Fixed an issue where inherited tasks parameters (inputs, deps, etc) would sometimes be lost based
    on the merge strategy.
  • Fixed an issue with dependency graph cycle detection.

⚙️ Internal

  • Updated to proto v0.11.
  • Dropped SVN support since it was never finished and doesn't work.
  • Improved VCS file handling, caching, and performance.
moon - v1.8.3

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Fixed an issue where command line arguments were incorrectly escaped in Bash shells.
moon - v1.8.2

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Updated CODEOWNERS to take .editorconfig into account when generating.
  • Fixed an issue where git branch commands would fail on <= v2.22.
  • Fixed an issue where disabling moon's cache would not disable proto's cache.
moon - v1.8.1

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Fixed an issue where failed processes would not bubble up the original error.
  • Fixed TypeScript type issues in @moonrepo/types.
  • Fixed JSON schema issues.

⚙️ Internal

  • Updated to proto v0.10.5.
moon - v1.8.0

Published by github-actions[bot] over 1 year ago

🚀 Updates

  • Added code owners (CODEOWNERS) support.

    • Added owners setting to moon.yml.
    • Added codeowners setting to .moon/workspace.yml.
    • Added moon sync codeowners command.
  • Added vcs.provider setting to .moon/workspace.yml.

  • Added a new action to the graph, SyncWorkspace, that'll be used for workspace-level checks.

  • Added workspace.syncing and workspace.synced webhooks.

  • Added MOON_OUTPUT_STYLE and MOON_RETRY_COUNT environment variables.

  • Rust

    • Improved Cargo workspace root and members detection.

⚙️ Internal

  • Deprecated the moon sync command, use moon sync projects instead.
  • Refactored task inputs, outputs, and file groups to be more accurate.
  • Updated Rust to v1.70.
moon - v1.7.3

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Fixed an issue where glob task outputs were not invalidating a previous build.
  • Fixed an issue where changing inputs would not mark a task as affected, when a moon workspace is
    nested within a repository.
  • Improved handling of ctrl+c signal detection and shutting down processes.
moon - v1.7.2

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Node.js
    • Fixed an issue where some workers/packages would fail while inheriting parent args.
  • Rust
    • Fixed an issue where cargo generate-lockfile would run in the wrong directory.
moon - v1.7.1

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Fixed some configuration bugs.
  • Fixed initial bootstrap log messages not being logged.
  • Fixed an issue where hydrated caches would be partially written.
moon - v1.7.0

Published by github-actions[bot] over 1 year ago

🚀 Updates

  • Rewrote configuration from the ground-up:
    • Strict parsing to bubble up typos, invalid nesting, and more.
    • Recursive merging and validation.
    • And many more improvements.
  • Rewrote error handling and rendering.
    • Improved error messages.
    • Added custom error messages for certain situations.
  • Added support for npm lockfile v3 format.

🐞 Fixes

  • Fixed an issue where colors were not being forced when passing --color.
  • Fixed an issue where --log or MOON_LOG would error when running nested moon commands.

⚙️ Internal

  • Updated to proto v0.10.
  • Updated Cargo dependencies.
moon - v1.6.1

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Fixed poor argument parsing of command line operators like ;, &&, etc.
moon - v1.6.0

Published by github-actions[bot] over 1 year ago

🚀 Updates

  • Added support for persistent tasks.
    • Added persistent task option to moon.yml (is also set via local).
    • Persistent tasks run last in the dependency graph.
  • Updated long running processes to log a checkpoint indicating it's still running.
  • Updated task platform detection to only use the platform if the toolchain language is enabled.
  • Started migration to a newer/better logging implementation.

🐞 Fixes

  • Fixed an issue where a task would panic for missing outputs.

⚙️ Internal

  • Reworked file groups to use workspace relative paths, instead of project relative.
  • Reworked processes to better handle command line arguments, shells, and piped stdin input.
moon - v1.5.1

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Fixed an issue where tasks would run in CI even though runInCI was false.
  • Fixed an issue where npm, pnpm, and yarn shims were not being used from proto.
moon - v1.5.0

Published by github-actions[bot] over 1 year ago

🚀 Updates

  • Added Rust tier 2 and 3 language support!
    • Added rust as a supported platform variant.
    • Added rust setting to .moon/toolchain.yml.
    • Added toolchain.rust setting to moon.yml.
    • Added support for rust setting in .prototools.
    • Updated moon init and moon bin commands to support Rust.
    • Updated moon docker scaffold command to scaffold Cargo files.
    • Updated moon docker prune command to delete the target directory.

🐞 Fixes

  • Fixed an issue where task type was run when it should be test.

⚙️ Internal

  • Reworked moon init --yes to not enable all tools, and instead enable based on file detection.
  • Cleaned up moon init templates. Will no longer scaffold .moon/tasks.yml.
moon - v1.4.0

Published by github-actions[bot] over 1 year ago

🚀 Updates

  • Added a new target scope for tags, #tag:task, which will run a task for all projects with the
    given tag.
  • Updated moon query projects and moon query tasks to support MQL for filtering results.
  • Deprecated node.aliasPackageNames setting. Aliases will always be loaded now.

⚙️ Internal

  • Upgraded to proto v0.8.
  • Updated JSON schemas with missing fields.
  • Rewrote ID handling for future features.
moon - v1.3.2

Published by github-actions[bot] over 1 year ago

🐞 Fixes

  • Fixed an issue where a pnpm-lock.yaml with no packages would fail to parse.
Package Rankings
Top 3.41% on Npmjs.org
Badges
Extracted from project README
Contributors