Grunt task to dump assets from symfony2 assetic config.yml to physical files
This plugin requires Grunt ~0.4.0
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-assetic-dump --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-assetic-dump');
In your project's Gruntfile.js
, add a section named assetic_dump
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
assetic_dump: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
});
Type: String
Default value: empty string
This string will be prepended to the beginning of the output fole.
Type: String
Default value: empty string
This string will be append to the end of the output file.
Type: String
Default value: app/config/config.yml
Your symfony config file where your assets are defined
Type: String
Default value: web/
Base dir of your inputs assets (relative to Gruntfile.js
)
Type: String
Default value: web/
Target dir where your output file will be saved (relative to Gruntfile.js
)
I sugest to put your assets in bundles public directories and install them in web/
dir via php app/console assets:install --symlink
. Then you have to set up your assets in config file like:
# app/config/config.yml
assetic:
# ...
assets:
all_css:
inputs:
- 'bundles/bundle-name/normalize.css'
- 'bundles/bundle-name/screen.css'
output: 'css/all.css'
all_js:
inputs:
- 'bundles/bundle-name/jquery.js'
- 'bundles/bundle-name/app.js'
output: 'js/all.js'
Then you can dump them to filesystem via:
grunt.initConfig({
// ...
assets_dump: {
prod: {}
}
});
You can also put your assets config in separate file (for example app/config/assets.yml
) and include then in your app/config/config.yml
.
Then you can dump them to filesystem via:
grunt.initConfig({
// ...
assets_dump: {
prod: {
configFile: 'app/config/assets.yml'
}
}
});