Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Extras not included in Node's fs module.
Note:
From v2.0.0
onwards, module doesn't override fs
and constants
Node.js core modules. Instead
import functions and constants directly:
const {flock, constants} = require('fs-ext');
// or
const fsExt = require('fs-ext');
// fsExt.flock
// fsExt.constants
From v1.0.0
onwards, fs.utime and fs.utimeSync have been removed.
Use fs.utimes and fs.utimesSync instead.
Install via npm:
npm install fs-ext
fs-ext imports all of the methods from the core 'fs' module, so you don't need two objects.
const fs = require('fs');
const {flock} = require('fs-ext');
const fd = fs.openSync('foo.txt', 'r');
flock(fd, 'ex', (err) => {
if (err) {
return console.error("Couldn't lock file");
}
// file is locked
});
For an advanced example checkout example.js
.
Asynchronous flock(2). No arguments other than a possible error are passed to the callback. Flags can be 'sh', 'ex', 'shnb', 'exnb', 'un' and correspond to the various LOCK_SH, LOCK_EX, LOCK_SH|LOCK_NB, etc.
NOTE (from flock() man page): flock() does not lock files over NFS. Use fcntl(2) instead: that does work over NFS, given a sufficiently recent version of Linux and a server which supports locking.
Synchronous flock(2). Throws an exception on error.
Asynchronous fcntl(2).
callback will be given two arguments (err, result).
The supported commands are:
Requiring this module adds FD_CLOEXEC
to the constants module, for use with F_SETFD,
and also F_RDLCK, F_WRLCK and F_UNLCK for use with F_SETLK (etc).
File locking can be used like so:
const {fnctl, constants} = require('fs-ext');
fcntl(fd, 'setlkw', constants.F_WRLCK, (err) => {
if (!err) {
// Lock succeeded
}
});
Synchronous fcntl(2). Throws an exception on error.
Asynchronous lseek(2).
callback will be given two arguments (err, currFilePos).
whence can be 0 (SEEK_SET) to set the new position in bytes to offset, 1 (SEEK_CUR) to set the new position to the current position plus offset bytes (can be negative), or 2 (SEEK_END) to set to the end of the file plus offset bytes (usually negative or zero to seek to the end of the file).
Synchronous lseek(2). Throws an exception on error. Returns current file position.
FAQs
Extensions to core 'fs' module.
We found that fs-ext 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
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.