affected vs manypkg
affected
github.commanypkg
github.comSide by side
| Figure | affected | manypkg |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Monorepo Management Tools | 8.1 (#10) | 8.4 (#3) |
| License | The repository identifies the software as MIT licensed. | The project is licensed under the MIT License. |
| Purpose | affected detects which monorepo packages are affected by Git changes and runs tests or other commands on those packages. | Manypkg is a linter for package.json files in Yarn, npm, pnpm, Bun or Lerna monorepos. |
| Support | The README welcomes contributions and directs users to the repository's GitHub issues. | The opened project pages provided no dedicated support terms. |
Plans
In their own words
affected
affected is a free, MIT-licensed command-line tool for identifying monorepo packages touched by Git changes and running tests or other commands on those packages. It traces transitive dependencies and can explain the chain from a change to an affected package. The README says it detects project type and dependency graph automatically to get started without configuration. Supported ecosystems include Cargo, npm, pnpm, Yarn, Bun, Go, Python, Maven, Gradle, .NET, Swift, Dart/Flutter, Elixir, and Scala/sbt. CLI commands cover listing packages, testing, running commands, viewing graphs, CI, initialization, and watch mode. Execution options include parallel jobs, dry-run previews, timeouts, package filters, and skip patterns. Outputs include JSON, JUnit XML, CI formats, shell completions, dependency trees, and DOT graphs. GitHub Actions support includes a setup action and dynamic job matrices; a companion action can post and update pull request comments with affected packages and reasons. Installation options include Homebrew, Python and language package managers, GitHub Actions, and release binaries. It runs on Linux, macOS, and Windows.
manypkg
manypkg is a command-line linter for package.json files in Yarn, npm, pnpm, Bun, and Lerna monorepos. It checks consistency across packages, including matching external dependency ranges, internal dependency ranges that include the referenced package version, and alphabetical ordering of dependencies. Other checks cover peer and development dependency relationships, root production dependencies, duplicate dependency types, package names, and repository fields. The `manypkg check` command runs repository checks, logs errors, and exits with a code. When a problem can be corrected automatically, `manypkg fix` can apply a fix. The CLI also runs package scripts with `manypkg run`, selecting a package by partial name or directory, and runs a command across packages with `manypkg exec`. The root package.json can configure ignored rules, the default branch, and workspace protocol behavior; the protocol setting defaults to `allow`. Installation is documented with `yarn add @manypkg/cli`. The tool is free and licensed under MIT. Thinkmill is its maker, based in Sydney, Australia; listed platforms are Linux, macOS, and Windows.