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: 10 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 (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-11-08T07:29:46.000Z (about 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"
```