0.2.0 • Published 6 years ago

node-dir-tree v0.2.0

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

node-dir-tree

Represent your directory structure in JSON format

node-dir-tree recursively scans your directory generating a JSON file which represents your directory structure. For each file/directory a hash is computed, the hash generation is based on:

  • file hash - The hash is based on the file's content and name (extension included);
  • directory hash - The hash is based on all the child hashes (i.e. files and directories it contains), and it's name.

Example:

For a folder structure like below:

exfolder
 |- foo
 |   |- foo.txt
 |   |- bar.txt
 |- foo.txt

The generated JSON would look like (Assuming all the files are empty)

{
  "name": "exfolder",
  "relativePath": ".",
  "path": "C:\\Users\\Elton Carreiro\\Desktop\\node-dir-tree\\demo\\exfolder",
  "type": "dir",
  "hash": "d37fab45ef09e444d1c0e9c77cfb0a48",
  "children": [
    {
      "name": "foo",
      "relativePath": "foo",
      "path": "C:\\Users\\Elton Carreiro\\Desktop\\node-dir-tree\\demo\\exfolder\\foo",
      "type": "dir",
      "hash": "02c4258dde69d831e5b83098220fb0e0",
      "children": [
        {
          "name": "bar.txt",
          "relativePath": "foo\\bar.txt",
          "path": "C:\\Users\\Elton Carreiro\\Desktop\\node-dir-tree\\demo\\exfolder\\foo\\bar.txt",
          "type": "file",
          "hash": "2923031cca09dee688f9dbd686d80e7b"
        },
        {
          "name": "foo.txt",
          "relativePath": "foo\\foo.txt",
          "path": "C:\\Users\\Elton Carreiro\\Desktop\\node-dir-tree\\demo\\exfolder\\foo\\foo.txt",
          "type": "file",
          "hash": "4fd8cc85ca9eebd2fa3c550069ce2846"
        }
      ]
    },
    {
      "name": "foo.txt",
      "relativePath": "foo.txt",
      "path": "C:\\Users\\Elton Carreiro\\Desktop\\node-dir-tree\\demo\\exfolder\\foo.txt",
      "type": "file",
      "hash": "4fd8cc85ca9eebd2fa3c550069ce2846"
    }
  ]
}

Note in the above example that, even if the files content are the same (because they're empty), the hashes aren't, since the algorithm also inclues the file name and the extension to compute the hash.

0.2.0

6 years ago

0.1.0

6 years ago

0.0.1

6 years ago