emileperron/git-version-strategy-bundle

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

Fund package maintenance!
EmilePerron

Installs: 151

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 1

Open Issues: 0

Type:symfony-bundle

v1.0.1 2023-03-21 11:57 UTC

This package is auto-updated.

Last update: 2024-05-21 14:45:23 UTC


README

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.