Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

gulp-files-sync

0.3.2 • Public • Published

Deprecation warning

This package has been deprecated. Please use syncy instead.

The reason: This package works not only with Gulp.

gulp-files-sync

A Gulp plugin providing one-way synchronization of directories with glob.

Travis NPM version devDependency Status devDependency Status

Install

$ npm install -S gulp-files-sync

Why?

  • Fast by using streams and Promises. Used cp-file and rimraf.
  • User-friendly by accepting globs.

Usage

var gulp = require('gulp');
var fsync = require('gulp-files-sync');
 
gulp.task('sync', function() {
  fsync(['src/**', '!src/folder/**'], 'dest').end();
 
  // Or with pipeline
  gulp.src('')
    .pipe(fsync(['src/**', '!src/folder/**'], 'dest'));
});

API

fsync(glob, dest, [options])

glob

Type: array|string

Glob pattern. Files to copy.

dest

Type: string

Destination directory.

options

Type: object

Plugin settings.

Options

{
  // Display log messages when copying and removing files
  verbose: false,
  // The base path to be removed from the path. Default: none
  base: 'base_path'
  // Remove all files from dest that are not found in src. Default: false
  updateAndDelete: true,
  // Never remove js files from destination. Default: false
  ignoreInDest: '**/*.js'
}

Tests

Tech specs:

  • Intel Core i7-3610QM
  • RAM 8GB
  • SSD (555MB/S, 530MB/S)
  • Windows 10
  • Node.js v4.2.4

Files: AngularJS from master branch (1462 files, 19368Кб)

Note: UpdateAndDelete option is enabled in the grunt-sync, because other plugins have this option initially.

Description of tests gulp-files-sync gulp-directory-sync grunt-sync
First run 2,4s 4,5s 5,8s
Re-run 0,6s 0,8s 0,7s
Changed single file 0,6s 0,8s 0,7s
Delete files from destination directories and run 2,3s 4,5s 5,7s
Delete files from the source directory 0,5s 0,5s 0,5s

How to work with Grunt?

Just use a custom task:

var fsync = require('gulp-files-sync');
 
module.exports = function(grunt) {
  // Default task(s).
  grunt.registerTask('default', function() {
    var done = this.async();
    fsync(['node_modules/grunt/**'], 'dest')
      .on('end', function() {
        done();
      })
      .end();
  });
 
};

Changelog

  • v0.3.2 (2015.02.29) — Add deprecation warning.
  • v0.3.1 (2015.01.13) — Update conditions the update files.
  • v0.3.0 (2015.01.12) — Initialization().

License

MIT.

Install

npm i gulp-files-sync

DownloadsWeekly Downloads

12

Version

0.3.2

License

MIT

Last publish

Collaborators

  • avatar