incenteev/hashed-asset-bundle

Apply an asset version based on a hash of the asset for symfony/asset

Maintainers

👁 Stof

Package info

github.com/Incenteev/hashed-asset-bundle

Type:symfony-bundle

pkg:composer/incenteev/hashed-asset-bundle

Statistics

Installs: 538 715

Dependents: 1

Suggesters: 0

Stars: 26

Open Issues: 0

v1.6.2 2026-01-27 08:41 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 3c9eaef7b95938773aee32ae04291f5473b19858

  • Christophe Coevoet <stof.woop@notk.org>

symfonyassetsbundlesymfony-bundlecache-busting

This package is auto-updated.

Last update: 2026-06-14 00:25:43 UTC


README

The HashedAssetBundle provides an asset version strategy which uses a hash of the file content as asset version. This allows bumping the asset version separately for each asset (automatically).

👁 CI
👁 Total Downloads
👁 Latest Stable Version

Installation

Use Composer to install the bundle:

$ composer require incenteev/hashed-asset-bundle

Usage

Register the bundle in the kernel:

// app/AppKernel.php

// ...

class AppKernel extends Kernel {
 public function registerBundles()
 {
 $bundles = array(
 // ...
 new Incenteev\HashedAssetBundle\IncenteevHashedAssetBundle(),
 );
 }
}

Then configure FrameworkBundle to use the new version strategy:

framework:
 assets:
 version_strategy: incenteev_hashed_asset.strategy

Advanced configuration

The default configuration should fit common needs, but the bundle exposes a few configuration settings in case you need them:

incenteev_hashed_asset:
 # Absolute path to the folder in which assets can be found
 # Note: in case you apply a base_path in your asset package, it is not
 # yet applied to the string received by the bundle
 web_root: '%kernel.project_dir%/web'
 # Format used to apply the version. This is equivalent to the
 # `framework > assets > version_format` of the static version strategy
 # of FrameworkBundle.
 version_format: '%%s?%%s'

License

This bundle is under the MIT license.

Alternative projects

If you want to apply cache busting by renaming files in your asset pipeline (for instance with the webpack-encore versioning feature), have a look at the json_manifest strategy available in Symfony itself.

Reporting an issue or a feature request

Issues and feature requests are tracked in the Github issue tracker.