Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
@nodelib/fs.stat
Advanced tools
Package description
The @nodelib/fs.stat package is a utility for Node.js that provides an efficient way to get the status of a file or directory. It wraps the fs.stat, fs.lstat, and fs.fstat functions from the Node.js file system module with additional features such as following symbolic links and handling errors more gracefully.
Getting file status
This feature allows you to asynchronously get the status of a file. The callback provides either an error or the stats object.
const { stat } = require('@nodelib/fs.stat');
stat('path/to/file', (error, stats) => {
if (error) {
console.error(error);
return;
}
console.log(stats);
});
Getting file status synchronously
This feature allows you to synchronously get the status of a file. It either returns the stats object or throws an error.
const { statSync } = require('@nodelib/fs.stat');
try {
const stats = statSync('path/to/file');
console.log(stats);
} catch (error) {
console.error(error);
}
Getting file status with a promise
This feature allows you to get the status of a file using promises. It resolves with the stats object or rejects with an error.
const { stat } = require('@nodelib/fs.stat');
stat('path/to/file').then(stats => {
console.log(stats);
}).catch(error => {
console.error(error);
});
fs-extra is a package that builds on the Node.js fs module, providing additional methods and ensuring consistency across platforms. It includes methods like copy, remove, and mkdirs that are not present in @nodelib/fs.stat, but it also provides fs.stat functionality.
graceful-fs is a drop-in replacement for the fs module that makes file system operations more robust by queuing them and retrying on failure. It includes all the methods of the fs module, including fs.stat, but does not add new features specifically for fs.stat like @nodelib/fs.stat does.
Readme
Get the status of a file with some features.
Wrapper around standard method fs.lstat
and fs.stat
with some features.
npm install @nodelib/fs.stat
import * as fsStat from '@nodelib/fs.stat';
fsStat.stat('path', (error, stats) => { /* … */ });
Returns an instance of fs.Stats
class for provided path with standard callback-style.
fsStat.stat('path', (error, stats) => { /* … */ });
fsStat.stat('path', {}, (error, stats) => { /* … */ });
fsStat.stat('path', new fsStat.Settings(), (error, stats) => { /* … */ });
Returns an instance of fs.Stats
class for provided path.
const stats = fsStat.stat('path');
const stats = fsStat.stat('path', {});
const stats = fsStat.stat('path', new fsStat.Settings());
true
string | Buffer | URL
A path to a file. If a URL is provided, it must use the file:
protocol.
false
Options | Settings
Settings
classAn Options
object or an instance of Settings
class.
:book: When you pass a plain object, an instance of the
Settings
class will be created automatically. If you plan to call the method frequently, use a pre-created instance of theSettings
class.
A class of full settings of the package.
const settings = new fsStat.Settings({ followSymbolicLink: false });
const stats = fsStat.stat('path', settings);
followSymbolicLink
boolean
true
Follow symbolic link or not. Call fs.stat
on symbolic link if true
.
markSymbolicLink
boolean
false
Mark symbolic link by setting the return value of isSymbolicLink
function to always true
(even after fs.stat
).
:book: Can be used if you want to know what is hidden behind a symbolic link, but still continue to know that it is a symbolic link.
throwErrorOnBrokenSymbolicLink
boolean
true
Throw an error when symbolic link is broken if true
or safely return lstat
call if false
.
fs
FileSystemAdapter
By default, the built-in Node.js module (fs
) is used to work with the file system. You can replace any method with your own.
interface FileSystemAdapter {
lstat?: typeof fs.lstat;
stat?: typeof fs.stat;
lstatSync?: typeof fs.lstatSync;
statSync?: typeof fs.statSync;
}
const settings = new fsStat.Settings({
fs: { lstat: fakeLstat }
});
See the Releases section of our GitHub project for changelog for each release version.
This software is released under the terms of the MIT license.
FAQs
Get the status of a file with some features
The npm package @nodelib/fs.stat receives a total of 37,861,623 weekly downloads. As such, @nodelib/fs.stat popularity was classified as popular.
We found that @nodelib/fs.stat demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer 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.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.