Carrooi/Cloner
, (*1)
Extension for auto-copying assets or any other files to your project., (*2)
Installation
$ composer require carrooi/cloner
$ composer update
Then just enable nette extension in your config.neon:, (*3)
extensions:
cloner: Carrooi\Cloner\DI\ClonerExtension
Configuration
extensions:
cloner: Carrooi\Cloner\DI\ClonerExtension
cloner:
paths:
- [%appDir%/../www/node_modules/test/lib, %appDir%/../www/js]
- [%appDir%/../www/node_modules/jquery/jquery.js, %appDir%/../www/js/jquery.js]
There you can see simple configuration which will copy everything from node_modules/test/lib directory to our js directory also with jquery.js file., (*4)
Each "source" / "target" path must be in one array (not in pair), but there can be many sources / one target paths., (*5)
Take a look at testing configuration for all possible path options., (*6)
Running
This extension don't do anything by default, so you have to enable it., (*7)
cloner:
autoRun: true
Also you have to be in debug mode, or set debug options to true., (*8)
Now at every request all configured paths will be checked and files updated., (*9)
Update command
It is not the best idea to check all files at each request so there is terminal command for that., (*10)
$ php www/index.php cloner:run --force
If you remove --force option, Cloner will just print found different files which needs to be updated., (*11)
You can also register this command as post install/update script in your composer.json. Then it will be started automatically by composer after each update or install. See more at composer documentation., (*12)
Changelog
-
1.0.0, (*13)
-
1.0.1, (*14)
- Checking for changes with filemtime, not hash_file