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
Requires
- php: ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0
- composer: ~2.2.18 || ^2.4
- composer-plugin-api: ^2.0
- cuyz/valinor: ^2.0
- cyclonedx/cyclonedx-library: ^3.9
- eliashaeussler/task-runner: ^1.0.1
- package-url/packageurl-php: ^1.0
- symfony/console: ^5.4 || ^6.4 || ^7.0 || ^8.0
- symfony/filesystem: ^5.4 || ^6.4 || ^7.0 || ^8.0
- symfony/yaml: ^5.4 || ^6.4 || ^7.0 || ^8.0
Requires (Dev)
- armin/editorconfig-cli: ^2.1
- composer/composer: ~2.2.18 || ^2.4
- composer/semver: ^3.0
- eliashaeussler/php-cs-fixer-config: ^3.0
- eliashaeussler/phpstan-config: ^4.0
- eliashaeussler/rector-config: ^4.0
- ergebnis/composer-normalize: ^2.47
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-symfony: ^2.0
- phpunit/phpunit: ^11.5 || ^12.2
- shipmonk/composer-dependency-analyser: ^1.8
Conflicts
- cuyz/valinor: 2.2.1
README
TYPO3 Vendor Bundler
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.jsonfile. 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.jsonfile 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 bundleto execute all available bundlers.
π₯ Installation
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
- Features
- Usage
- Configuration
π§βπ» Contributing
Please have a look at CONTRIBUTING.md.
β License
This project is licensed under GNU General Public License 3.0 (or later).