
Research
/Security News
9 Malicious NuGet Packages Deliver Time-Delayed Destructive Payloads
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.
flat-file-db
Advanced tools
Fast in-process flat file database for Node.js that supports JSON and caches all data in memory. All data is persisted to an open file using a append-only algorithm ensuring compact file sizes and strong consistency.
npm install flat-file-db
Pass a database file to use to the flat-file-db constructor and wait for the database to open. When it is open all data has been loaded into memory.
var flatfile = require('flat-file-db');
var db = flatfile('/tmp/my.db');
db.on('open', function() {
db.put('hello', {world:1}); // store some data
console.log(db.get('hello')) // prints {world:1}
db.put('hey', {world:2}, function() {
// 'hey' is now fully persisted
});
});
If you don't want to wait for it to open use flatfile.sync
var db = flatfile.sync('/tmp/my.db');
console.log(db.get('hello')); // prints {world:1}
If you issue multiple writes the last one will always win
for (var i = 0; i < 10; i++) {
db.put('test', {count:i}, ...);
}
console.log(db.get('test')); // {count:9} which also the persisted value of 'test'
db = flatfile(path, opts) Create a new db instance. Per default fsync is called on all puts. To disable this set opts.fsync = false
db = flatfile.sync(path, opts) Same as above except you do not need to wait for the open event
db.put(key, val, [cb]) Insert or update new key
db.del(key, [cb]) Delete a key
db.get(key) -> doc Get the value of a key
db.has(key) -> bool True if db has key
db.keys() -> list Get all keys as an array
db.clear([cb]) Clears the database of all values
db.close() Close the database
db.on('open') Fired when the db is open and ready for use.
db.on('close') Fired when the db is fully closed
db.on('drain') All puts and deletes are flushed to disk
MIT
FAQs
Fast in-process flat file database that caches all data in memory
The npm package flat-file-db receives a total of 52 weekly downloads. As such, flat-file-db popularity was classified as not popular.
We found that flat-file-db demonstrated a not healthy version release cadence and project activity because the last version was released 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.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.