Not Particularly Meaningful

    tree-sync
    TypeScript icon, indicating that this package has built-in type declarations

    2.1.0 • Public • Published

    TreeSync CI

    A module for repeated efficient synchronizing two directories.

    // input/a/{a.js,b.js}
    // output/
     
    const tree = new TreeSync('input', 'output');
    tree.sync();
    // output is now contains copies of everything that is in input
     
    fs.unlink('/input/a/b.js');
     
    // input / output have diverged
     
    tree.sync();
     
    // difference is calculated and efficient patch to update `output` is created and applied

    Under the hood, this library uses walk-sync to traverse files and folders. You may optionally pass in options to selectively include or ignore files and directories. These whitelisted properties (ignore and globs) will be passed to walk-sync.

    // Assume the following folder structure...
    // input/
    //   foo/
    //     foo.js
    //     bar.js
    //   bar/
    //     foo-bar.js
     
    const tree = new TreeSync('input', 'output', {
      ignore: ['**/b']
    });
    tree.sync();
     
    // We now expect output to contain foo/, but not bar/.
    // Any changes made to bar/ won't be synced to output, and the contents of bar/ won't be traversed.
    // Assume the following folder structure...
    // input/
    //   foo/
    //     foo.js
    //     bar.js
    //   bar/
    //     foo-bar.js
     
    const tree = new TreeSync('input', 'output', {
      globs: ['foo', 'foo/bar.js']
    });
    tree.sync();
     
    // We now expect output to contain foo/bar.js, but nothing else.
    // Be careful when using this property! You'll need to make sure that if you're including a file, it's parent
    // path is also included, or you'll get an error when tree-sync tries to copy the file over.

    Keywords

    none

    Install

    npm i tree-sync

    DownloadsWeekly Downloads

    332,194

    Version

    2.1.0

    License

    ISC

    Unpacked Size

    7.64 kB

    Total Files

    4

    Last publish

    Collaborators

    • hjdivad
    • rwjblue
    • stefanpenner