npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

file-manager

v2.0.1

Published

File storage to disk, with optional handlers to redirect storage

Downloads

100,779

Readme

file-manager

This simple module is designed to be an abstraction for file storage. By default, it saves files to disk in a specified directory, but it can easily be overridden to save files to anywhere you want, e.g. a database.

API

Constructor(storageDirectory)

  • storageDirectory - The directory on the local disk where files will be stored. Use null to disable local disk storage.
const FileManager = require('file-manager');
const Path = require('path');
let manager = new FileManager(Path.join(__dirname, 'data'));

isEnabled()

Returns true if either a storage directory is set, or if save and read handlers have been registered.

saveFile(filename, contents)

  • filename - Obvious
  • contents - Either a Buffer, or some other value that will have .toString() called on it, then it will be converted to a Buffer by interpreting the string as UTF-8

Saves a file. Returns a Promise that will be fulfilled once the file is saved, or rejected if there's an error.

Alias: writeFile

saveFiles(files)

  • files - An object where keys are filenames and values are file contents

Saves multiple files. Returns a Promise that will be fulfilled once all files are saved, or rejected if there's an error saving any file

Alias: writeFiles

readFile(filename)

  • filename - Obvious

Reads a single file. Returns a Promise that fulfills to its content, as a Buffer. Rejects if there's an error or the file doesn't exist.

readFiles(filenames)

  • filenames - Array of filenames

Reads multiple files. Returns a Promise that fulfills to an array containing objects of this structure:

  • filename - The name of this file
  • contents - The content of this file, if reading succeeded
  • error - An Error object, if there was an error reading this file (e.g. it doesn't exist)

This function can never reject.

Events

You can register your own save/read handlers by attaching event listeners.

read

  • filename - The filename of the file we want to read
  • callback - A function you should call once this file's contents are available, or an error occurred
    • err - An Error object if there was an error reading this file (e.g. it doesn't exist). null if no error.
    • contents - A Buffer containing the file's content, if reading succeeded

Emitted when a file is requested to be read.

save

  • filename - The filename of the file we want to save
  • contents - The content we want to save to this file, as a Buffer
  • callback - A function you should call once this file has been saved, or an error occurred
    • err - An Error object if there was an error saving this file. null if no error.

Emitted when a file is requested to be saved.

Properties

directory

The local disk storage directory location can be changed at any time by assigning to the directory property.