Weave Code
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

Minify Bundle Laravel Package

sensiolabs/minify-bundle

View on GitHub
Deep Wiki
Context7

Getting Started

Minimal Setup

  1. Installation Add the bundle via Composer:

    composer require sensiolabs/minify-bundle
    

    Enable it in config/bundles.php:

    return [
        // ...
        SensioLabs\MinifyBundle\SensioLabsMinifyBundle::class => ['all' => true],
    ];
    
  2. Basic Configuration Edit config/packages/sensio_labs_minify.yaml to define minification rules:

    sensio_labs_minify:
        js:
            output_path: 'public/js'
            files: ['%kernel.project_dir%/assets/js/**/*.js']
        css:
            output_path: 'public/css'
            files: ['%kernel.project_dir%/assets/css/**/*.css']
    
  3. First Use Case Run the minifier via CLI:

    php bin/console minify:minify
    

    Verify output in public/js/ and public/css/.


Implementation Patterns

Workflow Integration

  1. Asset Pipeline Use with Laravel Mix/Webpack Encore for pre-processing:

    // webpack.mix.js
    mix.js('resources/js/app.js', 'public/js')
        .then(() => runMinifier());
    

    Call the minifier programmatically:

    php bin/console minify:minify --env=prod
    
  2. Symfony AssetMapper Compatibility Integrate with asset_mapper for dynamic asset handling:

    # config/packages/asset_mapper.yaml
    asset_mapper:
        minify:
            enabled: true
            bundle: SensioLabs\MinifyBundle\SensioLabsMinifyBundle
    
  3. Conditional Minification Use environment-based rules:

    sensio_labs_minify:
        js:
            enabled: '%kernel.debug% ? false : true'
    

Advanced Patterns

  • Custom Minifier Classes Extend SensioLabs\MinifyBundle\Minifier\MinifierInterface for custom logic (e.g., custom JS/CSS optimizations).
  • Exclusion Lists Skip specific files:
    sensio_labs_minify:
        js:
            exclude: ['**/vendor.js', '**/debug.js']
    

Gotchas and Tips

Pitfalls

  1. Cache Invalidation Clear cache after config changes:

    php bin/console cache:clear
    php bin/console minify:minify
    

    Use --force to bypass cache checks.

  2. File Permissions Ensure public/js/ and public/css/ are writable by the web server user.

  3. Source Maps Disable if using source maps elsewhere:

    sensio_labs_minify:
        js:
            source_map: false
    

Debugging

  • Verbose Output Run with -v for detailed logs:
    php bin/console minify:minify -v
    
  • Dry Run Test without writing files:
    php bin/console minify:minify --dry-run
    

Extension Points

  1. Event Listeners Hook into minify.pre_minify and minify.post_minify events:

    // src/EventListener/MinifyListener.php
    use SensioLabs\MinifyBundle\Event\MinifyEvent;
    
    public function onPreMinify(MinifyEvent $event) {
        $event->addFile('path/to/additional.js');
    }
    
  2. Custom Minifier Services Register a custom minifier as a service:

    services:
        app.custom_minifier:
            class: App\Minifier\CustomMinifier
            tags: ['sensio_labs_minify.minifier']
    
  3. Asset Versioning Combine with Laravel’s mix.version() for cache busting:

    // In a controller
    return asset('js/app.min.js?v=' . filemtime(public_path('js/app.min.js')));
    
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.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle