moon VS nx

Compare moon vs nx and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
moon nx
6 341
2,555 21,679
7.6% 3.5%
9.7 10.0
6 days ago 1 day ago
Rust TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

moon

Posts with mentions or reviews of moon. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-21.
  • Launch HN: Moonrepo (YC W23) – Open-source build system
    12 projects | news.ycombinator.com | 21 Feb 2023
    (for context - I'm not interested in first class node support)

    This seems pretty cool. I particularly like how 'gradual' it seems to be relative to things like Bazel, i.e. you can take some shell scripts and migrate things over. I did have a play and hit an initial problem around project caching I think, which I raised at [0].

    One comment, from the paranoid point of view of someone who has built distributed caching build systems before is that your caching is very pessimistic! I understand why you hash outputs by default (as well as inputs), but I think that will massively reduce hit rate a lot of the time when it may not be necessary? I raised [1].

    As an aside, I do wish build systems moved beyond the 'file-based' approach to inputs/outputs to something more abstract/extensible. For example, when creating docker images I'd prefer to define an extension that informs the build system of the docker image hash, rather than create marker files on disk (the same is true of initiating rebuilds on environment variable change, which I see moon has some limited support for). It just feels like language agnostic build systems saw the file-based nature of Make and said 'good enough for us' (honorable mention to Shake, which is an exception [2]).

    [0] https://github.com/moonrepo/moon/issues/637

    12 projects | news.ycombinator.com | 21 Feb 2023
    Hey HN, Miles and James here from Moonrepo (https://moonrepo.dev). Are you struggling with large codebases? Well look no further! We built Moonrepo to simplify repository management, project ownership, task running, and everyday developer and productivity workflows.

    If you’ve used Bazel (or another “enterprise” build system) in the past, you’re probably aware of how complex they can be to setup, configure, and use. Let alone the cognitive overhead required by developers on a day to day basis. After more than a decade in the industry, with many of those years working on infrastructure and developer tooling related products, we set out to build Moon, a language agnostic build system.

    Existing systems focused solely on runtime logistics (faster builds, concurrency), while we want to also focus on the developer experience. We do this by automating workflows as much as possible, in an effort to reduce manual work. We constantly sync and verify configuration, so that the repository stays in a healthy state. We also infer/detect as much as we can from the environment/repository/codebase, so pieces "just work".

    We wanted our system to be enjoyable to use and easy to understand, but also solve the same problems as existing systems. For example, configuration is in YAML, not a proprietary syntax. Tasks are defined and run as if you were running them in the terminal; no more abstractions like BUILD files. Unlike Bazel, we don’t hide or heavily rewrite terminal output, so the feedback loop is what you expect. We manage a toolchain, ensuring the correct version of languages is used (no more “works on my machine”). And lastly, our foundation is built on Rust and Tokio, so performance is first-class, the runtime is reliable, and memory safety is guaranteed.

    We follow the open core model. Moon is open source, but we’re also working on a few subscription-based services for monitoring and improving your continuous integration pipelines, a registry of project and code ownership, a continuous deployment/delivery board, auxiliary application systems, and more. We haven't finalized the subscription model yet, so there's no pricing information on the website. However, we do have a starter/free tier that everyone can use by registering on https://moonrepo.app. In the future, we will offer on-prem as well.

    Although Moonrepo is relatively new, we’re already feature-packed, stable, and used in production. We’re big fans of honest feedback, and look forward to your comments!

  • Building a full-stack TypeScript application with Turborepo
    6 projects | dev.to | 30 Nov 2022
    There are many tools like Lerna, Nx, Turborepo, Moon, Rush, and Bazel, to name a few. Today, we'll be using Turborepo, as it's lightweight, flexible, and easy to use.

nx

Posts with mentions or reviews of nx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-18.
  • Things I learned while building projects with NX
    5 projects | dev.to | 18 Mar 2024
    Nx
  • Episode 24/09: Testing without TestBed, SSR & Hydration
    3 projects | dev.to | 16 Mar 2024
  • Announcing AnalogJS 1.0 🚀
    5 projects | dev.to | 14 Mar 2024
    We are looking for companies to partner with on the Analog project to support development of the project. Thanks to Snyder Technologies for being an early adopter and promoter of Analog, Nx for joining us as a sponsor, House of Angular, and many other backers of the project.
  • Storybook 8
    6 projects | dev.to | 12 Mar 2024
    Additionally, thank you to all our community launch partners across the frontend ecosystem for helping us bring Storybook 8 to the world! Thanks to Chromatic, Figma, ViteConf, Omlet, DivRiots, story.to.design, StackBlitz, UXpin, Nx, Mock Service Worker, Anima, Zeplin, zeroheight, kickstartDS, and Kendo UI.
  • ⏰ It’s time to talk about Import Map, Micro Frontend, and Nx Monorepo
    9 projects | dev.to | 11 Mar 2024
    The advent of esbuild, the native support for ES Modules in browsers, the widespread adoption of import map, the emergence of tools like Native Federation, and the Nx ecosystem all combine to forge a flexible and well-maintained Micro Frontend Architecture.
  • 👑 Top Open Source Projects of 2023 🚀
    6 projects | dev.to | 3 Mar 2024
    Nx is a set of DevTools to make it simpler for software dev teams to work within a monorepo, which is a version-controlled code repository that contains several projects. Think of Nx as a VSCode of build tools.
  • Ask HN: Cleanest way to manage Windows OS?
    4 projects | news.ycombinator.com | 22 Feb 2024
    On Nix, you can declare everything necessary to build a package so you don't need to install packages on your system by yourself. I don't want to put myself into a dependency hell anymore. But I have an idea for this: using docker. Docker separates developing environment from host's system so there would be no pre-installed dependencies. It would be good and I'm considering learning docker. Next thing I'm considering is to use something like [nx](https://nx.dev/). If you have better ideas, please tell me.

    This is pretty much everything I need for my next Windows environment. Every small tips or tricks are welcome.

  • Unit Testing Expo Apps With Jest
    7 projects | dev.to | 20 Feb 2024
    In my latest blog, I successfully navigated through the steps of setting up an Expo Monorepo with Nx. The next challenge? Testing! This blog dives into:
  • Implicit Dependencies Management with Nx: A Practical Guide through Real-World Case Studies
    2 projects | dev.to | 19 Feb 2024
    We can see an implicit dependency between coffee-dealer and coffee-dealer-e2e, created by default by the NestJS generator plugin, and no dependency between coffee-dealer and coffee-dealer-cli. There is no task dependency between the coffee-dealer-e2e:e2e task and the coffee-dealer:serve task, meaning that the end-to-end tests could run before the application is ready. It is the same for the coffee-dealer-cli:run task, which could run before the application's API is available. With Nx, it is currently impossible to declare a task dependency for a long-running task, such as serve, so we must find an alternative solution. See related issues: nx issue #5570 and nx issue #3748.
  • State Management Nx React Native/Expo Apps with TanStack Query and Redux
    8 projects | dev.to | 17 Feb 2024
    This workspace is created using @nx/expo (Nx and Expo).

What are some alternatives?

When comparing moon and nx you can also consider the following projects:

turborepo - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turborepo and Turbopack. [Moved to: https://github.com/vercel/turbo]

single-spa - The router for easy microfrontends

vite - Next generation frontend tooling. It's fast!

lerna - :dragon: Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.

create-react-app - Set up a modern web app by running one command.

pnpm - Fast, disk space efficient package manager

Bazel - a fast, scalable, multi-language and extensible build system

changesets - 🦋 A way to manage your versioning and changelogs with a focus on monorepos

Nest - A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀

Playwright - Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

nx-go - 🍈 Nx plugin to use Go in a Nx Workspace

Bit - A build system for development of composable software.