limit-dirs

1.0.3 • Public • Published

limit-dirs

NPM

Build status

Did you ever want to limit certain directories sizes dynamically? limit-dirs allows you to do this in a convenient manner.

LimitDirs Class Usage

Install

npm install limit-dirs --save

With fixed folders

First we need to instantiate a LimitDirs:

const LimitDirs = require("limit-dirs");

const dirLimiter = new LimitDirs(
  {
    "forceDirs": [{
      "dir": "./test/repos-test/basic/",
      "limitMB": 5 // 5 MB
    }],
    "autoDiscoverNewSubDirs": false,
    "verbose": false
  });

and then launch it:

dirLimiter.launch();

This will watch the directory ./test/repos-test/basic/ and make sure its size is less than 5 MB. Whenever a file is created or changed, if the new folder size is larger than 5 MB, the file will be deleted.

Automatic Subdir discovery

First let's instantiate a LimitDirs:

const dirLimiter = new LimitDirs(
  {
    "rootDir": "./test/repos-test/websites/",
    "level": 2,
    "autoDiscoverNewSubDirs": true,
    "intervalAutoScan": 3, // in seconds
    "defaultLimitMB": 5,
    "verbose": false
  });

dirLimiter.launch();

This will check every 3 seconds for new sub directories with level 2 and limit these directories to 5 MB. So let's say we now have the following tree:

-- ./test/repos-test/websites/
---- ./test/repos-test/websites/user1
------ ./test/repos-test/websites/user1/website1
------ ./test/repos-test/websites/user1/website2

Both website1 and website2 will be limited to 5 MB each. The level represents the number of children steps. With level 1, it would look for the direct subdirectories.

Command Line Interface

npm install -g limit-dirs

The command line usage is the following:

limit-dirs launch --rootDir <rootDir> --level <level> --intervalAutoScan <intervalAutoScan> --defaultLimitMB <defaultLimitMB> --verbose <verbose>

License

ISC

Readme

Keywords

Package Sidebar

Install

npm i limit-dirs

Weekly Downloads

6

Version

1.0.3

License

ISC

Last publish

Collaborators

  • martinlev