https://github.com/simoneb/fast-folder-size
Node CLI or module to calculate folder size
https://github.com/simoneb/fast-folder-size
du fast folder size
Last synced: 6 months ago
JSON representation
Node CLI or module to calculate folder size
- Host: GitHub
- URL: https://github.com/simoneb/fast-folder-size
- Owner: simoneb
- License: other
- Created: 2021-03-09T14:49:28.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-08T07:29:46.000Z (almost 2 years ago)
- Last Synced: 2024-04-29T17:21:44.023Z (over 1 year ago)
- Topics: du, fast, folder, size
- Language: JavaScript
- Homepage:
- Size: 217 KB
- Stars: 61
- Watchers: 3
- Forks: 10
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
> The license of this software has changed to AWISC - Anti War ISC License
# fast-folder-size
[](https://github.com/simoneb/fast-folder-size/actions/workflows/ci.yml)
Node CLI or module to calculate folder size.
It uses:
- [Sysinternals DU](https://docs.microsoft.com/en-us/sysinternals/downloads/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
```js
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)
```#### Aborting
The non-sync version of the API also supports `AbortSignal`, to abort the operation while in progress.
```js
const fastFolderSize = require('fast-folder-size')const controller = new AbortController()
fastFolderSize('.', { signal: controller.signal }, (err, bytes) => {
if (err) {
throw err
}console.log(bytes)
})controller.abort()
```### Command line
```bash
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:
```shell
export FAST_FOLDER_SIZE_DU_ZIP_LOCATION="https://your.internal.repository/DU.zip"
```or
```shell
export FAST_FOLDER_SIZE_DU_ZIP_LOCATION="D://download/du.zip"
```