Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Monorepo Builder Laravel Package

symplify/monorepo-builder

Toolkit for managing PHP monorepos: merge package composer.json files into the root, validate dependency versions, bump interdependencies, propagate versions back, manage package aliases, and automate releases. Configured via monorepo-builder.php; requires PHP 8.2+.

View on GitHub
Deep Wiki
Context7
12.7.2

What's Changed

Features

  • Support sebastian/diff ^9.0, which unblocks upgrading to PHPUnit 13 / Pest 5. The previous cap at ^8.0 transitively blocked any project that wanted PHPUnit 13 while keeping monorepo-builder installed. sebastian/diff 9.0 removed UnifiedDiffOutputBuilder, so CompleteUnifiedDiffOutputBuilderFactory now picks the right output builder at runtime and returns the shared DiffOutputBuilderInterface. Console diff output is byte-identical across sebastian/diff 6, 7, 8, and 9. Note that sebastian/diff 9.0 requires PHP 8.4, so it is only selected on PHP 8.4+; older PHP keeps the existing builder. (#120)

Internal

  • CI now runs the package-builder test suite against sebastian/diff 9 on PHP 8.4, so both output builder paths are covered. (#120)
  • Applied Rector readonly promotions flagged by rector 2.5. (#120)

Full Changelog: https://github.com/symplify/monorepo-builder/compare/12.7.1...12.7.2

12.7.1

What's Changed

Bug Fixes

  • Fix uninitialized typed $container error on Symfony Console 8.1 (#119)

Full Changelog: https://github.com/symplify/monorepo-builder/compare/12.7.0...12.7.1

12.7.0

What's Changed

Features

  • Add parameterized disableAutoloadMerge(sections, forTypes) API — independently control which composer.json autoload sections (autoload, autoload-dev) get skipped from root merge, optionally filtered by package type. New Symplify\MonorepoBuilder\Config\AutoloadSection and Symplify\MonorepoBuilder\Config\PackageType enums power the API; mixing enum cases and plain strings in the same call is supported (escape hatch for composer/installers ecosystem types like wordpress-plugin, drupal-module, symfony-bundle, and for user-defined custom types). Multiple types are OR-matched. Two filter channels are intentionally distinct: pass forTypes: [] to skip every package regardless of type; pass a non-empty list to skip ONLY packages whose composer.json declares the matching type literally. (#117)
  • New query methods MBConfig::shouldSkipAutoload(?string $packageType): bool and MBConfig::shouldSkipAutoloadDev(?string $packageType): bool let custom mergers consult the configured rules per package. The bundled AutoloadComposerKeyMerger and AutoloadDevComposerKeyMerger now consult them symmetrically. (#117)

Deprecations

  • The zero-argument form MBConfig::disableAutoloadMerge() continues to work but now emits an E_USER_DEPRECATED notice. It maps to skipping both sections for all packages — equivalent to disableAutoloadMerge(sections: [AutoloadSection::Autoload, AutoloadSection::AutoloadDev], forTypes: []). Update existing config files at your convenience.
  • MBConfig::isAutoloadMergeDisabled() getter is marked [@deprecated](https://github.com/deprecated); prefer shouldSkipAutoload($packageType) and shouldSkipAutoloadDev($packageType) for new code.

Full Changelog: https://github.com/symplify/monorepo-builder/compare/12.6.2...12.7.0

12.5.2

What's Changed

Bug Fixes

  • Remove stale composer-json-manipulator autoload entry that breaks PHAR build (#109)
  • Fix workers() not respecting user-specified order (#112)

Improvements

  • Allow sebastian/diff ^8 (#110)

Full Changelog: https://github.com/symplify/monorepo-builder/compare/12.5.0...12.5.2

12.5.0

What's Changed

Bug Fixes

  • Merge command now preserves unknown/custom composer.json sections — Sections like scripts-aliases, abandoned, readme, and any other non-standard keys in root composer.json are no longer silently dropped during merge (#105, #106)
  • dataToAppend supports arbitrary composer.json keys — No longer limited to the 24 hardcoded sections (#105)
  • Original section order of root composer.json is preserved by default — New sections are appended at the end; custom ordering is available via composerSectionOrder() (#107)
  • Fix comparator transitivity violations in ComposerJson::sortItemsByOrderedListOfKeys() and ArraySorter::recursiveSortBySchema()
  • Fix FilterOutDuplicatedRequireAndRequireDevJsonDecorator which was a no-op due to array_intersect comparing values instead of keys
  • Fix self-merge bug in MergedAndDecoratedComposerJsonFactory (was merging object with itself)

Improvements

  • Allow webmozart/assert ^2 (#103)

Internal

  • Consolidate require/require-dev dedup logic into ComposerJsonMerger and decorator
  • Add explicit DECORATOR_ORDER constant for decorator execution ordering
  • Remove dead code: RequireRequireDevDuplicateCleaner, src-deps/composer-json-manipulator/

Full Changelog: https://github.com/symplify/monorepo-builder/compare/12.4.5...12.5.0

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
muka/shape-reader
tdt/json
refinery29/php-cs-fixer-config
hotmeteor/eco-env
mvaliolahi/hydrate
wearede/tbcpay-php
parsnick/steak
thibaud-dauce/mattermost-php
multilinguals/apollo-client
antaresbr/collection
kr0lik/phpstan-rules
loco/loco
starfederation/datastar-php
yupmin/modern-phystrix
stephenjude/extended-artisan-commands
lumphp/laravel-macroable
lumphp/laravel-collections
lumphp/laravel-contracts
sermepa/sermepa
arkecosystem/fortify