Thomas Rohde
Thomas Rohde

Reputation: 37

Yii2 Assets Exclude Files, Directories on publishing

I want to publish some Asstes. For example the animate.css donwloaded by bower or composer, but i dont want to copy not needed files into web asstes folder. i already use the the publish option, but some folders be copied anyway, but without content.

the sourcefolder looks like this:

/animate.css
./bower.json
./source
./source/bouncing_exits
./source/bouncing_exits/bounceOutLeft.css
./source/bouncing_exits/bounceOutDown.css
./source/bouncing_exits/bounceOutUp.css
./source/bouncing_exits/bounceOutRight.css
./source/bouncing_exits/bounceOut.css
./source/fading_exits
./source/fading_exits/fadeOutRight.css
./source/fading_exits/fadeOutLeft.css
./source/fading_exits/fadeOutDown.css
./source/fading_exits/fadeOutUp.css
./source/fading_exits/fadeOutLeftBig.css
./source/fading_exits/fadeOut.css
./source/fading_exits/fadeOutRightBig.css
./source/fading_exits/fadeOutDownBig.css
./source/fading_exits/fadeOutUpBig.css
./source/fading_entrances
./source/fading_entrances/fadeInRight.css
./source/fading_entrances/fadeInUp.css
... some more
./animate-config.json
./package.json
./gulpfile.js
./animate.min.css
./LICENSE

the asset bundle looks like this

namespace frontend\assets;

use yii\web\AssetBundle;

/**
 * Main frontend application asset bundle.
 */
class AnimateAsset extends AssetBundle
{
    /**
     * @inherit
     */
    public $sourcePath = '@bower/animate.css';

    /**
     * @inherit
     */
    public $css = [ 
        'animate.min.css',
    ];

    /**
     * @inherit
     */
    public $js = [
    ];

    /**
     * @inherit
     */
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
        'yii\bootstrap\BootstrapPluginAsset',
    ];


       public $publishOptions = [
//        'forceCopy' => YII_DEBUG,
        'only' => [
            'animate.min.css',
        ],
        'exept' => [
            'source/*',
            'source/',
            'source',
        ],
    ];
}

and finaly the result in web asset folder looks like this

./source
./source/bouncing_exits
./source/fading_exits
./source/fading_entrances
./source/lightspeed
./source/zooming_entrances
./source/zooming_exits
./source/bouncing_entrances
./source/rotating_entrances
./source/attention_seekers
./source/sliding_exits
./source/rotating_exits
./source/flippers
./source/specials
./source/sliding_entrances
./animate.min.css

The empty folder still be copied?? How can I prevent this?

Upvotes: 1

Views: 1220

Answers (1)

Thomas Rohde
Thomas Rohde

Reputation: 37

thx soju, that was a typo:

with that publish options below it works

public $publishOptions = [
//        'forceCopy' => YII_DEBUG,
        'only' => [
            'animate.min.css',
        ],
        'except' => [
            'source',
        ],
    ];

Upvotes: 1

Related Questions