eliashaeussler/typo3-vendor-bundler

Composer plugin to bundle vendor libraries for TYPO3 extensions in classic mode

Installs: 8 998

Dependents: 4

Suggesters: 0

Security: 0

Stars: 2

Watchers: 1

Forks: 0

Open Issues: 1

Type:composer-plugin

pkg:composer/eliashaeussler/typo3-vendor-bundler

3.0.1 2025-12-30 19:45 UTC

This package is auto-updated.

Last update: 2026-01-09 04:37:28 UTC


README

TYPO3 Vendor Bundler

Coverage CGL Tests Supported PHP Versions

A Composer plugin to bundle vendor libraries of TYPO3 extensions for use in classic mode. It allows to easily prepare dependencies, which are not part of TYPO3's bundled dependencies, in order to make TYPO3 extensions fully usable in classic mode installations.

πŸš€ Features

  • Autoload bundler: Bundles autoload information from vendor libraries in root composer.json file. This enables deep integration of vendor libraries directly into TYPO3, e.g. for use with dependency injection.
  • Dependency bundler: Bundles dependency information of shipped vendor libraries. Uses the standardized CycloneDX format to generate a Software Bill of Materials (SBOM).
  • Automatic dependency extraction: Allows to automatically extract used vendor libraries from the root composer.json file of an extension.
  • Various configuration options: Provides an extensive configuration system, which allows to customize several parts of the bundling system.
  • Composer integration: Built as Composer plugin, the package provides a smooth integration in your Composer workflow. Bundlers can be executed directly by using dedicated Composer commands, e.g. composer bundle to execute all available bundlers.

πŸ”₯ Installation

Packagist Packagist Downloads

composer require --dev eliashaeussler/typo3-vendor-bundler

⚑ Quickstart

Add a typo3-vendor-bundler.yaml config file:

# typo3-vendor-bundler.yaml

autoload:
  target:
    file: 'composer.json'
    overwrite: true
  backupSources: false
  excludeFromClassMap:
    - 'vendor/composer/InstalledVersions.php'

dependencies:
  sbom:
    file: 'sbom.json'
    version: '1.7'
    includeDev: false
    overwrite: true

dependencyExtraction:
  enabled: true
  failOnProblems: true

pathToVendorLibraries: 'Resources/Private/Libs'

Execute the main bundler:

composer bundle

You can also execute a single bundler. Read more about available console commands.

Tip

You can use the composer validate-bundler-config command to validate your config file.

πŸ“ Documentation

πŸ§‘β€πŸ’» Contributing

Please have a look at CONTRIBUTING.md.

⭐ License

This project is licensed under GNU General Public License 3.0 (or later).