Package Exports
- platform-folders
- platform-folders/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (platform-folders) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
platform-folders
Node.js bindings for sago007/PlatformFolders (requires Node.js 8 or 10+)
This library is inspired by Electrons app.getPath used for getting so called "special directories". These directories, like "Documents", "Downloads" and "AppData" are platform dependent. This Node Native Addon uses a C++ libary (linked above) to resolve the paths on Windows, "Linux" and Mac OS X.
Usage
You can either use the "Electron-Style" by calling the default export:
import getPath from 'platform-folders';
console.log(getPath('downloads'));Following names are supported:
homeHome folder (e.g./home/<Username>,c:\Users\<Username>,/Users/<Username>)appDataPer-User Application Directory (e.g./home/<Username>/.local/share,c:\Users\<Username>\AppData\Roaming,/Users/<Username>/Library/Application Support)userDataDirectory for storing config files (e.g./home/<Username>/.config,c:\Users\<Username>\AppData\Roaming,/Users/<Username>/Library/Application Support)desktopDesktop directory (e.g./home/<Username>/Schreibtisch(on a German system),c:\Users\<Username>\Desktop,/Users/<Username>/Desktop)documentsDocuments directory (e.g./home/<Username>/Dokumente(on a German system),c:\Users\<Username>\Documents,/Users/<Username>/Documents)DownloadsDownloads directory (e.g./home/<Username>/Downloads,c:\Users\<Username>\Downloads,/Users/<Username>/Downloads)musicMusic directory (e.g./home/<Username>/Musik(on a German system),c:\Users\<Username>\Music,/Users/<Username>/Music)picturesPictures directory (e.g./home/<Username>/Bilder(on a German system),c:\Users\<Username>\Pictures,/Users/<Username>/Pictures)videosVideos directory (e.g./home/<Username>/Videos,c:\Users\<Username>\Videos,/Users/<Username>/Videos)cacheCache directory (e.g./home/<Username>/.cache,c:\Users\<Username>\AppData\Local,/Users/<Username>/Library/Caches)stateState directory (e.g./home/<Username>/.local/state,c:\Users\<Username>\AppData\Local,/Users/<Username>/Library/Application Support)savegamesDirectory for savegames (e.g./home/<Username>/.local/share,c:\Users\<Username>\SavedGames,/Users/<Username>/Library/Application Support)
Alternatively you can use the named exports:
import {getDownloadsFolder} from 'platform-folders';
console.log(getDownloadsFolder());| Key | Method |
|---|---|
home |
getHomeFolder() |
appData |
getDataHome() |
appdata |
getDataHome() |
userData |
getConfigHome() |
desktop |
getDesktopFolder() |
documents |
getDocumentsFolder() |
downloads |
getDownloadsFolder() |
music |
getMusicFolder() |
pictures |
getPicturesFolder() |
videos |
getVideosFolder() |
cache |
getCacheFolder() |
state |
getStateFolder() |
savegames |
getSaveGamesFolder() |
Following paths can not be used with getPath (as they return arrays), but can be called using the exported function:
getDataFoldersAdditional global data folders (e.g.C:\ProgramData,/usr/share/)getConfigFoldersAdditional global data folders (e.g.C:\ProgramData,/etc/xdg/)
These functions are not supported for OS X (they will return an empty array).