New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

fs-snapshot

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fs-snapshot

creates a snapshot of a directory which can be used to determine which files have changed

latest
Source
npmnpm
Version
0.2.0
Version published
Maintainers
1
Created
Source

FS Snapshot

npm tests dependencies coverage

Creates a snapshot of a directory which can be used to determine which files have changed

Note: This project is in early development, and versioning is a little different. Read this for more details.

Why should you care?

Sometimes in life you need to check a tree of files to see what has changed from the last time you checked it, without constantly watching said files. For example, if you are backing up files once a week, you don't want to back up every file, only the ones that have changed. Same with if you were generating a static site.

FS Snapshot does exactly that. It will produce an object that can be saved to hold on to the state of a file tree, and also a function that can be used to compare two of these objects to produce the names of files that have changed.

Installation

npm install fs-snapshot -S

Note: This project is compatible with node v6+ only

Usage

To generate a snapshot, use snapshot.create(root). To compare two snapshots, use snapshot.changed(snapshot1, snapshot2). Snapshots are buffers containing zlib-compressed JSON objects. To compress or decompress manually, you can use snapshot.compress(src) and snapshot.decompress(src).

const snapshot = require('fs-snapshot')

const snap1 = snapshot.create('./some_files').then(console.log)

// check the output, if you want
snap1.then((s) => {
  console.log(snapshot.decompress(snap1))
})

// wait a while, make some changes to some of the files

const snap2 = snapshot.create('./some_files')

// now we compare the two snapshots
Promise.all([snap1, snap2]).then(([s1, s2]) => {
  // array of files that have changed between the first and second snapshots
  const changedFiles = snapshot.changed(snap1, snap2)
  console.log(changedFiles)
})

License & Contributing

FAQs

Package last updated on 11 Oct 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts