
Security News
AI Agent Lands PRs in Major OSS Projects, Targets Maintainers via Cold Outreach
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.
Virtual file class. Extends the native fs.Dirent class with methods to simplify path handling. Similar to Vinyl, but lightweight.
Virtual file class. Extends the native fs.Dirent class with methods to simplify path handling. Similar to Vinyl, but lightweight.
Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your :heart: and support.
Install with npm (requires Node.js >=10):
$ npm install --save dirent
This library is very heavily based on Vinyl. Thank you to the gulp.js team for the inspiration and great ideas behind vinyl. This work is based on that.
The API for path handling is close enough that you can use Vinyl's docs as a reference. There are only a couple of minor differences:
file.contents by default. See how to add stream support.const Dirent = require('dirent');
// Pass a file path as a string, or an object with properties to add to the dirent
// The following examples are equivalent. When the path is a string, it will
// be converted to an object and set on the dirent.path property.
console.log(new Dirent('some/file/path.txt'));
//=> <Dirent "some/file/path.txt">
console.log(new Dirent({ path: 'some/file/path.txt' }));
//=> <Dirent "some/file/path.txt">
// assuming __filename is /jonschlinkert/dev/dirent/index.js
const file = new Dirent(__filename);
console.log(file.dirname); //=> /Users/jonschlinkert/dev//dirent
console.log(file.basename); //=> example.js
console.log(file.stem); //=> example
console.log(file.extname); //=> .js
Stream support is added using the cloneable-readable library (this is the same library used by Vinyl). To add support for streams, do the following:
const clonable = require('cloneable-readable');
const Dirent = require('dirent');
const File = Dirent.create(cloneable);
const file = new File({ path: 'foo.js' });
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the contributing guide for advice on opening issues, pull requests, and coding standards.
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb
| Commits | Contributor |
|---|---|
| 13 | jonschlinkert |
| 2 | doowb |
Jon Schlinkert
Copyright © 2021, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.8.0, on April 18, 2021.
FAQs
Virtual file class. Extends the native fs.Dirent class with methods to simplify path handling. Similar to Vinyl, but lightweight.
We found that dirent demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 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.

Security News
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.

Research
/Security News
Chrome extension CL Suite by @CLMasters neutralizes 2FA for Facebook and Meta Business accounts while exfiltrating Business Manager contact and analytics data.

Security News
After Matplotlib rejected an AI-written PR, the agent fired back with a blog post, igniting debate over AI contributions and maintainer burden.