amis-rpc-design/node_modules/appdirsjs/README.md
2023-10-07 19:42:30 +08:00

1.9 KiB

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 standarts.

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