Extension for auto-copying assets or any other files to your project.
$ composer require carrooi/cloner $ composer update
Then just enable nette extension in your config.neon:
extensions: cloner: Carrooi\Cloner\DI\ClonerExtension
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
Each "source" / "target" path must be in one array (not in pair), but there can be many sources / one target paths.
Take a look at testing configuration for all possible path options.
This extension don't do anything by default, so you have to enable it.
cloner: autoRun: true
Also you have to be in
debug mode, or set
debug options to
Now at every request all configured paths will be checked and files updated.
It is not the best idea to check all files at each request so there is terminal command for that.
$ php www/index.php cloner:run --force
If you remove
--force option, Cloner will just print found different files which needs to be updated.
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.
- First version
- Checking for changes with filemtime, not hash_file