import { dir } from "https://deno.land/x/deno@v0.28.0/cli/js/os.ts";
Returns the user and platform specific directories.
Requires the --allow-env
flag.
Returns null if there is no applicable directory or if any other error
occurs.
Argument values: "home", "cache", "config", "executable", "data", "data_local", "audio", "desktop", "document", "download", "font", "picture", "public", "template", "video"
"cache"
Platform | Value | Example |
---|---|---|
Linux | $XDG_CACHE_HOME or $HOME /.cache |
/home/alice/.cache |
macOS | $HOME /Library/Caches |
/Users/Alice/Library/Caches |
Windows | {FOLDERID_LocalAppData} |
C:\Users\Alice\AppData\Local |
"config"
Platform | Value | Example |
---|---|---|
Linux | $XDG_CONFIG_HOME or $HOME /.config |
/home/alice/.config |
macOS | $HOME /Library/Preferences |
/Users/Alice/Library/Preferences |
Windows | {FOLDERID_RoamingAppData} |
C:\Users\Alice\AppData\Roaming |
"executable"
Platform | Value | Example |
---|---|---|
Linux | XDG_BIN_HOME or $XDG_DATA_HOME /../bin or $HOME /.local/bin |
/home/alice/.local/bin |
macOS | - | - |
Windows | - | - |
"data"
Platform | Value | Example |
---|---|---|
Linux | $XDG_DATA_HOME or $HOME /.local/share |
/home/alice/.local/share |
macOS | $HOME /Library/Application Support |
/Users/Alice/Library/Application Support |
Windows | {FOLDERID_RoamingAppData} |
C:\Users\Alice\AppData\Roaming |
"data_local"
Platform | Value | Example |
---|---|---|
Linux | $XDG_DATA_HOME or $HOME /.local/share |
/home/alice/.local/share |
macOS | $HOME /Library/Application Support |
/Users/Alice/Library/Application Support |
Windows | {FOLDERID_LocalAppData} |
C:\Users\Alice\AppData\Local |
"audio"
Platform | Value | Example |
---|---|---|
Linux | XDG_MUSIC_DIR |
/home/alice/Music |
macOS | $HOME /Music |
/Users/Alice/Music |
Windows | {FOLDERID_Music} |
C:\Users\Alice\Music |
"desktop"
Platform | Value | Example |
---|---|---|
Linux | XDG_DESKTOP_DIR |
/home/alice/Desktop |
macOS | $HOME /Desktop |
/Users/Alice/Desktop |
Windows | {FOLDERID_Desktop} |
C:\Users\Alice\Desktop |
"document"
Platform | Value | Example |
---|---|---|
Linux | XDG_DOCUMENTS_DIR |
/home/alice/Documents |
macOS | $HOME /Documents |
/Users/Alice/Documents |
Windows | {FOLDERID_Documents} |
C:\Users\Alice\Documents |
"download"
Platform | Value | Example |
---|---|---|
Linux | XDG_DOWNLOAD_DIR |
/home/alice/Downloads |
macOS | $HOME /Downloads |
/Users/Alice/Downloads |
Windows | {FOLDERID_Downloads} |
C:\Users\Alice\Downloads |
"font"
Platform | Value | Example |
---|---|---|
Linux | $XDG_DATA_HOME /fonts or $HOME /.local/share/fonts |
/home/alice/.local/share/fonts |
macOS | $HOME/Library/Fonts |
/Users/Alice/Library/Fonts |
Windows | – | – |
"picture"
Platform | Value | Example |
---|---|---|
Linux | XDG_PICTURES_DIR |
/home/alice/Pictures |
macOS | $HOME /Pictures |
/Users/Alice/Pictures |
Windows | {FOLDERID_Pictures} |
C:\Users\Alice\Pictures |
"public"
Platform | Value | Example |
---|---|---|
Linux | XDG_PUBLICSHARE_DIR |
/home/alice/Public |
macOS | $HOME /Public |
/Users/Alice/Public |
Windows | {FOLDERID_Public} |
C:\Users\Public |
"template"
Platform | Value | Example |
---|---|---|
Linux | XDG_TEMPLATES_DIR |
/home/alice/Templates |
macOS | – | – |
Windows | {FOLDERID_Templates} |
C:\Users\Alice\AppData\Roaming\Microsoft\Windows\Templates |
"video"
Platform | Value | Example |
---|---|---|
Linux | XDG_VIDEOS_DIR |
/home/alice/Videos |
macOS | $HOME /Movies |
/Users/Alice/Movies |
Windows | {FOLDERID_Videos} |
C:\Users\Alice\Videos |