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

Assets Buster Bundle Laravel Package

avholodnyak/assets-buster-bundle

View on GitHub
Deep Wiki
Context7

GulpBusterBundle

Build Status Coverage Status

When you write your front-end application you often need to update cached assets on the client side. This bundle provides you an ability to update cached assets by using busters files (you can generate these files by using gulp-buster package).

This bundle uses the custom version strategies feature that was introduced in Symfony 3.1. When I was creating this bundle I was inspired by that article.

Installation

Install the bundle using composer:

$ composer require avholodnyak/assets-buster-bundle

Then, enable the bundle by adding it to the list of registered bundles in the app/AppKernel.php file of your project:

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new AVHolodnyak\AssetsBusterBundle\AssetsBusterBundle(),
    );
}

Then, configure the bundle in your app/config/config.yml file:

assets_buster:
    # Absolute path to the busters file
    busters_path: "%kernel.root_dir%/../web/busters.json"

    # (Optional) Version format (sprintf-compatible format string). Default value is "%%s?%%s"
    version_format: "%%s?v=%%s"

How to use

Just use the standard symfony asset() function for Twig templates (or $view["assets"]->getUrl() for PHP templates), and a version of an asset file will be appended automatically. If you don't want to append a version of an asset file, then don't put the corresponding version to the busters file.

Here is an example of how to use the bundle with Twig templates:

<link rel="stylesheet" href="{{ asset('js/example-script.js') }}">

By default the bundle uses "%s?%s" version format. If a corresponding version will be found in the busters file, then it will be appended to the result asset path:

<link rel="stylesheet" href="/js/example-script.js?cc1d8837ebc45c34f9e35217db1d2a7e">

If no version will be found in the busters file, then nothing will be appended to the result path:

<link rel="stylesheet" href="/js/example-script.js">

You can change the way the bundle appends a version of an asset file by changing the version_format option in your configuration file (see the Installation section above).

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.
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle