2017 © Pedro Peláez
 

yii2-extension yii2-clean-assets

Clean yii2 web/assets/ directory

image

mbrowniebytes/yii2-clean-assets

Clean yii2 web/assets/ directory

  • Wednesday, August 9, 2017
  • by browniebytes
  • Repository
  • 1 Watchers
  • 0 Stars
  • 5,817 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 4 Versions
  • 26 % Grown

The README.md

Yii2 command extension to clean Yii web/assets/ directory

While developing an app, and using Yii2 assets, as you make changes to js and css files, the web/assets/ directory will fill up with cached assets., (*1)

This extension removes old caches from Yii's web/assets/ directory, (*2)

Installation

The preferred way to install this extension is through composer., (*3)

Either run, (*4)

composer require mbrowniebytes/yii2-clean-assets:0.1.0

or add, (*5)

"mbrowniebytes/yii2-clean-assets": "0.1.0"

to the require section of your composer.json., (*6)

Usage

To use this extension, add the following code in your application configuration - basic template: config/console.php: - advanced template: common/config/main-local.php, (*7)

'controllerMap' => [
    'clean-assets' => [
        'class' => 'mbrowniebytes\yii2cleanassets\CleanAssetsController',
    ],
],

Then call the extension from the command line, (*8)

/path/yii/web/assets> ls -l
08/2/2017  05:07 PM    <DIR>          1069cc51
08/2/2017  05:07 PM    <DIR>          324e82f6
08/4/2017  09:29 AM    <DIR>          8443a260
08/4/2017  10:39 AM    <DIR>          a66e14a3
08/4/2017  09:28 AM    <DIR>          a7594ccf

/path/yii> php yii clean-assets dry-run verbose keep=2
Checking web/assets/ to remove old caches ..
would have removed web/assets/1069cc51, last modified Aug 2, 2017 05:07:21 PM
would have removed web/assets/324e82f6, last modified Aug 2, 2017 05:07:22 PM
would have removed web/assets/a7594ccf, last modified Aug 4, 2017 09:28:26 PM
Done. Removed 0 web/assets/ caches

Since keep=2 was supplied, the 2 newest caches would be kept., (*9)

You could also call the extension in a common event so assets are 'auto' cleaned, (*10)

<?php
namespace app\controllers;

use Yii;
use yii\web\Controller;
use app\commands\CleanAssetsController as CleanAssets;

class BaseController extends Controller
{
    private function cleanAssets()
    {
        // keep dev/test env clean; remove old web/assets/ caches
        if (YII_ENV != 'prod' && rand(0, 100) < 30) {
            $clean_assets = new CleanAssets('CleanAssetsController', 'command');
            $clean_assets->keep = 4;
            $clean_assets->silent = true;
            $nbr_cleanded = $clean_assets->cleanAssetDirs();
        }
    }

    public function afterAction($action, $result)
    {
        $this->cleanAssets();

        return parent::afterAction($action, $result);
    }
}

<?php
namespace app\controllers;

use Yii;
use yii\web\Controller;

class MyController extends BaseController
{
    public function actionIndex()
    {
    }
}

Additional arguments

dry-run         show what would happen; do not delete anything
verbose         show more info; echo rules being run, dir/file being deleted
silent      do not echo anything
keep=#      nbr asset dirs to keep; might be one or more for app, one for toolbar, etc (default 5)
structure=a     based on yii2 structures, set asset dirs to clean; advanced, basic, auto (default)
dirs=a,b        list of custom asset dirs to clean, comma seperated

Change log

08-07-2017 tag 0.1.0 - issue #1 support advanced template - exposes new cleanAssetDirs() - cleanAssetDir($dir) now requires a param - options are now without a dash ie verbose for yii 2.0.13, (*11)

08-25-2015 tag 0.0.1
- exposes cleanAssetDir() - options have a dash ie -verbose for earlier yii 2.0.?, (*12)

The Versions

09/08 2017

dev-master

9999999-dev

Clean yii2 web/assets/ directory

  Sources   Download

MIT

The Requires

 

yii2 assets clean

07/08 2017

0.1.0

0.1.0.0

Clean yii2 web/assets/ directory

  Sources   Download

MIT

The Requires

 

yii2 assets clean

07/08 2017

dev-issue-1

dev-issue-1

Clean yii2 web/assets/ directory

  Sources   Download

MIT

The Requires

 

yii2 assets clean

03/09 2015

0.0.1

0.0.1.0

Clean yii2 web/assets/ directory

  Sources   Download

MIT

The Requires

 

yii2 assets clean