
Research
Security News
Malicious npm Package Wipes Codebases with Remote Trigger
A malicious npm typosquat uses remote commands to silently delete entire project directories after a single mistyped install.
Check if a directory is empty.
var emptyDir = require('empty-dir');
// Using an error-back
emptyDir('./', function (err, result) {
if (err) {
console.error(err);
} else {
console.log('Directory is empty:', result);
}
});
// Using a Promise
emptyDir('./').then(function (result) {
console.log('Directory is empty:', result);
});
var result = emptyDir.sync('./test/empty');
console.log('Directory is empty:', result);
emptyDir(paths, [filterFunction], [callback])
Takes a path string or array of path strings and returns a Promise. Checks if the given paths are empty and resolves with a boolean indicating if the paths are empty directories. Optionally takes a filter function to filter out files that cause false positives. Also, can take a node-style callback function instead of returning a Promise.
emptyDir.sync(paths, [filterFunction])
Same as the above API but operates and returns synchronously. An error will be thrown.
Both async and sync take a filter function as the second argument, to ignore files like .DS_Store
on mac or Thumbs.db
on windows from causing false-negatives.
var emptyDir = require('empty-dir');
function filter(filepath) {
return /(Thumbs\.db|\.DS_Store)$/i.test(filepath);
}
emptyDir('./', filter, function (err, isEmpty) {
if (err) {
console.error(err);
} else {
console.log('Directory is empty:', isEmpty);
}
});
var isEmpty = emptyDir.sync('./test/empty', filter);
console.log('Directory is empty:', isEmpty);
Global promises are required for this module. If you are using a platform that doesn't have promise support, you'll need to polyfill Promise on the global.
global.Promise = require('insert-your-promise-polyfill-here');
var emptyDir = require('empty-dir');
emptyDir('./').then(function (result) {
console.log('Directory is empty:', result);
});
MIT
FAQs
Check if a directory is empty.
The npm package empty-dir receives a total of 62,122 weekly downloads. As such, empty-dir popularity was classified as popular.
We found that empty-dir demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm typosquat uses remote commands to silently delete entire project directories after a single mistyped install.
Research
Security News
Malicious PyPI package semantic-types steals Solana private keys via transitive dependency installs using monkey patching and blockchain exfiltration.
Security News
New CNA status enables OpenJS Foundation to assign CVEs for security vulnerabilities in projects like ESLint, Fastify, Electron, and others, while leaving disclosure responsibility with individual maintainers.