A better asset management package for Laravel.
Basset is no longer being maintained by me (Jason Lewis). Appologies to those of you that have invested time into this package. Feel free to fork it if you feel the need but I strongly urged you to shift over to using Grunt to manage the compiling and concatenation of your assets.
Once again, I'm sorry, I just don't have the time and Grunt does an amazing job.
I've (Tim Clark) recently begun doing some minor maintenance, keeping the package working.
Basset is a better asset management package for the Laravel framework. Basset shares the same philosophy as Laravel. Development should be an enjoyable and fulfilling experience. When it comes to managing your assets it can become quite complex and a pain in the backside. These days developers are able to use a range of pre-processors such as Sass, Less, and CoffeeScript. Basset is able to handle the processing of these assets instead of relying on a number of individual tools.
To get the latest version of Basset simply require it in your
You'll then need to run
composer install to download it and have the autoloader updated.
Note that once Basset has a stable version tagged you should use a tagged release instead of the master branch.
Once Basset is installed you need to register the service provider with the application. Open up
app/config/app.php and find the
'providers' => array( 'Basset\BassetServiceProvider' )
Basset also ships with a facade which provides the static syntax for creating collections. You can register the facade in the
aliases key of your
'aliases' => array( 'Basset' => 'Basset\Facade' )
- Split the collections and aliases into their own configuration files.
- Filter method chaining with syntactical sugar by prefixing with
- Added logging when assets, directories, and filters are not found or fail to load.
- Allow logging to be enabled or disabled via configuration.
- Warn users when cURL is being used to detect an assets group.
- Allow an array of filters to be applied to an asset.
whenDevelopmentBuildas filter requirements.
JsMinare only applied on a production build and not on the production environment.
rawmethod as an alias to
- Entire directory or collection can be set as raw so original path is used instead of assets being built.
- Development builds only happen for a collection that is used on the loaded request.
rawOnEnvironmentto serve the asset raw on a given environment or environments.
- Collections are displayed with
- Simplified the asset finding process.
- Can no longer prefix paths with
path:for an absolute path, use a relative path from public directory instead.
- Requirements can be applied to filters to prevent application if certain conditions are not met.
- Filters can find any missing constructor arguments such as the path to Node, Ruby, etc.
applicationcollection is bundled.
basset:compilecommand is now
- Old collection builds are cleaned automatically but can be cleaned manually with
- Packages can be registered with
Basset::package()and assets can be added using the familiar namespace syntax found throughout Laravel.
- Fixed issues with
- Development collections are pre-built before every page load.
- Build and serve pre-compressed collections.
- Use custom format when displaying collections.
- Added in Blade view helpers:
- Assets maintain the order that they were added.