This package is not actively developed any more.
npm install grunt-sync --save
Within your grunt file:
sync:main:files:src: 'path/**' dest: 'dest/' // includes files in path and its subdirscwd: 'path/' src: '**/*.js' '**/*.css' dest: 'dest/' // makes all src relative to cwdverbose: true // Default: falsepretend: true // Don't do any disk operations - just write log. Default: falsefailOnError: true // Fail the task when copying is not possible. Default: falseignoreInDest: "**/*.js" // Never remove js files from destination. Default: noneupdateAndDelete: true // Remove all files from dest that are not found in src. Default: falsecompareUsing: "md5" // compares via md5 hash of file contents, instead of file modification time. Default: "mtime"
npm install grunt-sync --save
How it works?
In the first phase the plugin compares modification times of files in
dest. It only copies files with newer modification time. Second phase deletes files that exists in
dest but have not been found in
- [1st phase] Read modification time of all files in
-  Overwrite destination if modification time is newer or destination is directory not file.
- [2nd phase]* Get a list of the files in
destand calculate difference between destination and source.
- * Delete all files (and directories) that have been found in
destbut are not found
srcexcluding ignored files.
*second phase only occurs if updateAndDelete is set to true (whitch is set to false by default)
- 0.7.0 - Pass down grunt-copy options
- 0.6.2 - Bumped major versions of important dependencies
- 0.5.0 - Synchronous removal of directories (to avoid race conditions)
- 0.4.0 - Adding better patterns support for
- 0.3.0 - Comparison using md5 hash of file contents or modification time
- 0.2.4 -
- 0.2.3 - Fixed issue with files defined as array when using
- 0.2.2 - Fixed issue with
updateAndDeletewhen source patterns matches only files.
- 0.2.1 - Fixed grunt Compact Format.
- 0.2.0 - Default configuration will not remove any files any more. You have to specify
updateAndDeleteoption to remove any files from destination.
- 0.1.2 - Deleting all files in destination on Windows solved.
- 0.1.1 - Fixed issue with trailing slash in destination.
- 0.1.0 - Files missing that are not in
srcare deleted from
dest(unless you specify
Migration 0.1.x -> 0.2.x
In version 0.2 you have to explicitly specify that you want the plugin to remove files from destination. See
updateAndDelete option and run with
pretend:true first to make sure that it doesn't remove any crucial files. You can tune what files should be left untouched with
If you have
updateOnly:true in your 0.1 config you can remove this option. For those who used
updateOnly:false you have to include
updateAndDelete:true in 0.2 config to keep the same behavior.
- Research if it's possible to have better integration with
grunt-contrib-watch- update only changed files instead of scanning everything.
- Some tests for common problems
- Some tests to assure performance
updateAndDeletein more elegant way (maybe use patterns from source?)