Skip to content

A node.js library to get paths to directories to store configs, caches and data according to OS standarts.

Notifications You must be signed in to change notification settings

codingjerk/appdirsjs

Repository files navigation

appdirsjs

GitHub Workflow Status Codecov npm npm bundle size GitHub

A node.js library to get paths to directories to store configs, caches and data according to OS standards.

Installation

npm install appdirsjs

or

yarn install appdirsjs

if you're using yarn.

Usage

import appDirs from "appdirsjs";

const dirs = appDirs({ appName: "expo" });

console.log(dirs.cache);
// /home/user/.cache/expo on Linux
// /Users/User/Library/Caches/expo on MacOS
// C:\Users\User\AppData\Local\Temp\expo on Windows

console.log(dirs.config);
// /home/user/.config/expo on Linux
// /Users/User/Library/Preferences/expo on MacOS
// C:\Users\User\AppData\Roaming\expo

console.log(dirs.data);
// /home/user/.local/share/expo on Linux
// /Users/User/Library/Application Support/expo on MacOS
// C:\Users\User\AppData\Local\expo

Keep backward compability

Then switching from old-style dotfile directory, such as ~/.myapp to new, like ~/.config/myapp, you can pass legacyPath parameter to keep using old directory if it exists:

import * as path from "path";
import appDirs from "appdirsjs";

const dirs = appDirs({
  appName: "expo",
  // Notice usage of full path
  legacyPath: path.join(os.homedir(), ".expo"),
});

console.log(dirs.config);
// /home/user/.expo

TODO

  • Android support
  • XDG on BSD support

About

A node.js library to get paths to directories to store configs, caches and data according to OS standarts.

Resources

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Contributors 4

  •  
  •  
  •  
  •