Skip to content

Node CLI or module to calculate folder size

License

Notifications You must be signed in to change notification settings

simoneb/fast-folder-size

Repository files navigation

The license of this software has changed to AWISC - Anti War ISC License

fast-folder-size

ci

Node CLI or module to calculate folder size.

It uses:

  • Sysinternals DU on Windows, automatically downloaded at installation time because the license does not allow redistribution. See below about specifying the download location.
  • native du on other platforms

Installation

npm i fast-folder-size

Usage

Programmatically

const { promisify } = require('util')
const fastFolderSize = require('fast-folder-size')
const fastFolderSizeSync = require('fast-folder-size/sync')

// callback
fastFolderSize('.', (err, bytes) => {
  if (err) {
    throw err
  }

  console.log(bytes)
})

// promise
const fastFolderSizeAsync = promisify(fastFolderSize)
const bytes = await fastFolderSizeAsync('.')

console.log(bytes)

// sync
const bytes = fastFolderSizeSync('.')

console.log(bytes)

Command line

fast-folder-size .

Downloading the Sysinternals DU.zip

By default the Sysinternals DU.zip is downloaded from https://download.sysinternals.com/files/DU.zip.

If you need to change this, e.g. to download from an internal package repository or re-use an existing du.zip, you can set the FAST_FOLDER_SIZE_DU_ZIP_LOCATION environment variable.

For example:

export FAST_FOLDER_SIZE_DU_ZIP_LOCATION="https://your.internal.repository/DU.zip"

or

export FAST_FOLDER_SIZE_DU_ZIP_LOCATION="D://download/du.zip"