Skip to content

A custom version strategy for Symfony assets that uses the current Git commit short-hash as the version identifier.

License

Notifications You must be signed in to change notification settings

EmilePerron/git-version-strategy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Symfony asset versioning based on Git

This is a small Symfony bundle that implements a custom version strategy which uses the current Git commit short-hash as the version identifier.

This will turn the URL of your assets from this:

/css/style.css

to

/css/styles.css?v=b4703f8

This will ensure that you assets always match the current version of your project by eliminating browser caching issues.


Getting started

To get started, add the bundle to your project using Composer, like so:

composer require emileperron/git-version-strategy-bundle

Then, in your config/bundles.php file, include the bundle like so:

<?php

return [
    // ...
    Emileperron\GitVersionStrategyBundle\EmileperronGitVersionStrategyBundle::class => ['all' => true],
];

Once that's done, you should be all set! The bundle automatically updates the configuration for framework.assets.version_strategy to use the GitVersionStrategy.


Manual configuration of the VersionStrategy

If for some reason the configuration is not set automatically, which can happen if another bundle also changes this configuration, define the following configuration in your config/packages/framework.yaml:

framework:
    assets:
        version_strategy: 'Emileperron\GitVersionStrategyBundle\Asset\GitVersionStrategy'

Safe mode, execution operator and shell_exec()

This bundle uses the Execution Operator in order to get the current commit's hash. It is important to note that this will not work when safe mode is enabled or shell_exec() is disabled.

About

A custom version strategy for Symfony assets that uses the current Git commit short-hash as the version identifier.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages