switch-get-file-folder-size
v1.0.1
Published
A Node.js package to calculate file and folder sizes locally and remotely (HTTP/HTTPS directories)
Maintainers
Readme
switch-get-file-folder-size
A Node.js package to calculate file and folder sizes locally and remotely (HTTP/HTTPS directories) made by Switcher.faiz.
Installation
npm install switch-get-file-folder-sizeUsage
const { getSize, formatBytes } = require('switch-get-file-folder-size');Examples
Local Relative Folder
const { getSize, formatBytes } = require('switch-get-file-folder-size');
const checkSize = async () => {
try {
const folderPath = "./test_folder";
const size = await getSize(folderPath);
console.log(`Total size: ${size} bytes`);
console.log(`Total size: ${formatBytes(size)}`);
} catch (error) {
console.error('Error:', error.message);
}
};
checkSize();Local Relative File
const { getSize, formatBytes } = require('switch-get-file-folder-size');
const checkSize = async () => {
try {
const folderPath = "./test_folder/hello.txt";
const size = await getSize(folderPath);
console.log(`Total size: ${size} bytes`);
console.log(`Total size: ${formatBytes(size)}`);
} catch (error) {
console.error('Error:', error.message);
}
};
checkSize();Local Absolute Folder
const { getSize, formatBytes } = require('switch-get-file-folder-size');
const checkSize = async () => {
try {
const folderPath = "D:\\Mobile projects\\TodolistMobileApp\\assets";
const size = await getSize(folderPath);
console.log(`Total size: ${size} bytes`);
console.log(`Total size: ${formatBytes(size)}`);
} catch (error) {
console.error('Error:', error.message);
}
};
checkSize();Local Absolute File
const { getSize, formatBytes } = require('switch-get-file-folder-size');
const checkSize = async () => {
try {
const folderPath = "D:\\Mobile projects\\TodolistMobileApp\\app.json";
const size = await getSize(folderPath);
console.log(`Total size: ${size} bytes`);
console.log(`Total size: ${formatBytes(size)}`);
} catch (error) {
console.error('Error:', error.message);
}
};
checkSize();Remote Folder
const { getSize, formatBytes } = require('switch-get-file-folder-size');
const checkSize = async () => {
try {
const folderPath = "http://192.168.1.102/assets/";
const size = await getSize(folderPath);
console.log(`Total size: ${size} bytes`);
console.log(`Total size: ${formatBytes(size)}`);
} catch (error) {
console.error('Error:', error.message);
}
};
checkSize();Remote File
const { getSize, formatBytes } = require('switch-get-file-folder-size');
const checkSize = async () => {
try {
const folderPath = "http://192.168.1.102/assets/images/Female.svg";
const size = await getSize(folderPath);
console.log(`Total size: ${size} bytes`);
console.log(`Total size: ${formatBytes(size)}`);
} catch (error) {
console.error('Error:', error.message);
}
};
checkSize();Remote File (HTTPS)
const { getSize, formatBytes } = require('switch-get-file-folder-size');
const checkSize = async () => {
try {
const file = "https://images.pexels.com/photos/35163027/pexels-photo-35163027.jpeg";
const size = await getSize(file);
console.log(`Total size: ${size} bytes`);
console.log(`Total size: ${formatBytes(size)}`);
} catch (error) {
console.error('Error:', error.message);
}
};
checkSize();Remote File with No Extension
const { getSize, formatBytes } = require('switch-get-file-folder-size');
const checkSize = async () => {
try {
const folderPath = "http://192.168.1.102/assets";
const size = await getSize(folderPath);
console.log(`Total size: ${size} bytes`);
console.log(`Total size: ${formatBytes(size)}`);
} catch (error) {
console.error('Error:', error.message);
}
};
checkSize();API
getSize(inputPath)
Calculates the size of a file or folder (local or remote).
Parameters:
inputPath(string): Path to the file or folder- Local paths: Relative (e.g.,
"./folder") or absolute (e.g.,"D:\\folder") - Remote paths: HTTP/HTTPS URLs (e.g.,
"http://example.com/folder/")
- Local paths: Relative (e.g.,
Returns:
Promise<number>: Size in bytes
Throws:
- Error if the path is invalid or inaccessible
formatBytes(bytes)
Converts bytes to a human-readable format.
Parameters:
bytes(number): Size in bytes
Returns:
string: Formatted string (e.g., "1.5 MB", "500 Bytes")
Features
- ✅ Calculate local file sizes
- ✅ Calculate local folder sizes (recursive)
- ✅ Calculate remote file sizes (HTTP/HTTPS)
- ✅ Calculate remote folder sizes (HTTP/HTTPS directory listings)
- ✅ Human-readable format conversion
- ✅ Supports both relative and absolute paths
- ✅ Automatic detection of files vs directories
Requirements
- Node.js >= 14.0.0
License
MIT
About
Made by Switcher.faiz
