Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Repository files navigation

env-paths

Get paths for storing things like data, config, cache, etc

Uses the correct OS-specific paths. Most developers get this wrong.

Install

npm install env-paths

Usage

import envPaths from 'env-paths';

const paths = envPaths('MyApp');

paths.data;
//=> '/home/sindresorhus/.local/share/MyApp-nodejs'

paths.config
//=> '/home/sindresorhus/.config/MyApp-nodejs'

API

paths = envPaths(name, options?)

Note: It only generates the path strings. It doesn't create the directories for you. You can use fs.mkdir(…, {recursive: true}) to create the directories.

name

Type: string

The name of your project. Used to generate the paths.

options

Type: object

suffix

Type: string
Default: 'nodejs'

Don't use this option unless you really have to!

Suffix appended to the project name to avoid name conflicts with native apps. Pass an empty string to disable it.

paths.data

Directory for data files.

Example locations (with the default nodejs suffix):

  • macOS: ~/Library/Application Support/MyApp-nodejs
  • Windows: %LOCALAPPDATA%\MyApp-nodejs\Data (for example, C:\Users\USERNAME\AppData\Local\MyApp-nodejs\Data)
  • Linux: ~/.local/share/MyApp-nodejs (or $XDG_DATA_HOME/MyApp-nodejs)

paths.config

Directory for config files.

Example locations (with the default nodejs suffix):

  • macOS: ~/Library/Preferences/MyApp-nodejs
  • Windows: %APPDATA%\MyApp-nodejs\Config (for example, C:\Users\USERNAME\AppData\Roaming\MyApp-nodejs\Config)
  • Linux: ~/.config/MyApp-nodejs (or $XDG_CONFIG_HOME/MyApp-nodejs)

paths.cache

Directory for non-essential data files.

Example locations (with the default nodejs suffix):

  • macOS: ~/Library/Caches/MyApp-nodejs
  • Windows: %LOCALAPPDATA%\MyApp-nodejs\Cache (for example, C:\Users\USERNAME\AppData\Local\MyApp-nodejs\Cache)
  • Linux: ~/.cache/MyApp-nodejs (or $XDG_CACHE_HOME/MyApp-nodejs)

paths.log

Directory for log files.

Example locations (with the default nodejs suffix):

  • macOS: ~/Library/Logs/MyApp-nodejs
  • Windows: %LOCALAPPDATA%\MyApp-nodejs\Log (for example, C:\Users\USERNAME\AppData\Local\MyApp-nodejs\Log)
  • Linux: ~/.local/state/MyApp-nodejs (or $XDG_STATE_HOME/MyApp-nodejs)

paths.temp

Directory for temporary files.

Example locations (with the default nodejs suffix):

  • macOS: /var/folders/jf/f2twvvvs5jl_m49tf034ffpw0000gn/T/MyApp-nodejs
  • Windows: %LOCALAPPDATA%\Temp\MyApp-nodejs (for example, C:\Users\USERNAME\AppData\Local\Temp\MyApp-nodejs)
  • Linux: /tmp/USERNAME/MyApp-nodejs

About

Get paths for storing things like data, config, cache, etc

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.