path
The path module provides utilities for working with file and directory paths.
It is recommended to allowlist only the APIs you use for optimal bundle size and security.
Enumerations
BaseDirectory
Enumeration Members
AppCache
AppCache: 16;
See
appCacheDir for more information.
AppConfig
AppConfig: 13;
See
appConfigDir for more information.
AppData
AppData: 14;
See
appDataDir for more information.
AppLocalData
AppLocalData: 15;
See
appLocalDataDir for more information.
AppLog
AppLog: 17;
See
appLogDir for more information.
Audio
Audio: 1;
See
audioDir for more information.
Cache
Cache: 2;
See
cacheDir for more information.
Config
Config: 3;
See
configDir for more information.
Data
Data: 4;
See
dataDir for more information.
Desktop
Desktop: 18;
See
desktopDir for more information.
Document
Document: 6;
See
documentDir for more information.
Download
Download: 7;
See
downloadDir for more information.
Executable
Executable: 19;
See
executableDir for more information.
Font
Font: 20;
See
fontDir for more information.
Home
Home: 21;
See
homeDir for more information.
LocalData
LocalData: 5;
See
localDataDir for more information.
Picture
Picture: 8;
See
pictureDir for more information.
Public
Public: 9;
See
publicDir for more information.
Resource
Resource: 11;
See
resourceDir for more information.
Runtime
Runtime: 22;
See
runtimeDir for more information.
Temp
Temp: 12;
See
tempDir for more information.
Template
Template: 23;
See
templateDir for more information.
Video
Video: 10;
See
videoDir for more information.
Functions
appCacheDir()
function appCacheDir(): Promise<string>
Returns the path to the suggested directory for your app’s cache files.
Resolves to ${cacheDir}/${bundleIdentifier}
, where bundleIdentifier
is the identifier
value configured in tauri.conf.json
.
Returns
Promise
<string
>
Example
import { appCacheDir } from '@crabnebula/taurify-api/path';const appCacheDirPath = await appCacheDir();
appConfigDir()
function appConfigDir(): Promise<string>
Returns the path to the suggested directory for your app’s config files.
Resolves to ${configDir}/${bundleIdentifier}
, where bundleIdentifier
is the identifier
value configured in tauri.conf.json
.
Returns
Promise
<string
>
Example
import { appConfigDir } from '@crabnebula/taurify-api/path';const appConfigDirPath = await appConfigDir();
appDataDir()
function appDataDir(): Promise<string>
Returns the path to the suggested directory for your app’s data files.
Resolves to ${dataDir}/${bundleIdentifier}
, where bundleIdentifier
is the identifier
value configured in tauri.conf.json
.
Returns
Promise
<string
>
Example
import { appDataDir } from '@crabnebula/taurify-api/path';const appDataDirPath = await appDataDir();
appLocalDataDir()
function appLocalDataDir(): Promise<string>
Returns the path to the suggested directory for your app’s local data files.
Resolves to ${localDataDir}/${bundleIdentifier}
, where bundleIdentifier
is the identifier
value configured in tauri.conf.json
.
Returns
Promise
<string
>
Example
import { appLocalDataDir } from '@crabnebula/taurify-api/path';const appLocalDataDirPath = await appLocalDataDir();
appLogDir()
function appLogDir(): Promise<string>
Returns the path to the suggested directory for your app’s log files.
Platform-specific
- Linux: Resolves to
${configDir}/${bundleIdentifier}/logs
. - macOS: Resolves to
${homeDir}/Library/Logs/{bundleIdentifier}
- Windows: Resolves to
${configDir}/${bundleIdentifier}/logs
.
Returns
Promise
<string
>
Example
import { appLogDir } from '@crabnebula/taurify-api/path';const appLogDirPath = await appLogDir();
audioDir()
function audioDir(): Promise<string>
Returns the path to the user’s audio directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs
’XDG_MUSIC_DIR
. - macOS: Resolves to
$HOME/Music
. - Windows: Resolves to
{FOLDERID_Music}
.
Returns
Promise
<string
>
Example
import { audioDir } from '@crabnebula/taurify-api/path';const audioDirPath = await audioDir();
basename()
function basename(path, ext?): Promise<string>
Returns the last portion of a path
. Trailing directory separators are ignored.
Parameters
Parameter | Type | Description |
---|---|---|
path | string | - |
ext ? | string | An optional file extension to be removed from the returned path. |
Returns
Promise
<string
>
Example
import { basename } from '@crabnebula/taurify-api/path';const base = await basename('path/to/app.conf');assert(base === 'app.conf');
cacheDir()
function cacheDir(): Promise<string>
Returns the path to the user’s cache directory.
Platform-specific
- Linux: Resolves to
$XDG_CACHE_HOME
or$HOME/.cache
. - macOS: Resolves to
$HOME/Library/Caches
. - Windows: Resolves to
{FOLDERID_LocalAppData}
.
Returns
Promise
<string
>
Example
import { cacheDir } from '@crabnebula/taurify-api/path';const cacheDirPath = await cacheDir();
configDir()
function configDir(): Promise<string>
Returns the path to the user’s config directory.
Platform-specific
- Linux: Resolves to
$XDG_CONFIG_HOME
or$HOME/.config
. - macOS: Resolves to
$HOME/Library/Application Support
. - Windows: Resolves to
{FOLDERID_RoamingAppData}
.
Returns
Promise
<string
>
Example
import { configDir } from '@crabnebula/taurify-api/path';const configDirPath = await configDir();
dataDir()
function dataDir(): Promise<string>
Returns the path to the user’s data directory.
Platform-specific
- Linux: Resolves to
$XDG_DATA_HOME
or$HOME/.local/share
. - macOS: Resolves to
$HOME/Library/Application Support
. - Windows: Resolves to
{FOLDERID_RoamingAppData}
.
Returns
Promise
<string
>
Example
import { dataDir } from '@crabnebula/taurify-api/path';const dataDirPath = await dataDir();
delimiter()
function delimiter(): string
Returns the platform-specific path segment delimiter:
;
on Windows:
on POSIX
Returns
string
desktopDir()
function desktopDir(): Promise<string>
Returns the path to the user’s desktop directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs
’XDG_DESKTOP_DIR
. - macOS: Resolves to
$HOME/Desktop
. - Windows: Resolves to
{FOLDERID_Desktop}
.
Returns
Promise
<string
>
Example
import { desktopDir } from '@crabnebula/taurify-api/path';const desktopPath = await desktopDir();
dirname()
function dirname(path): Promise<string>
Returns the parent directory of a given path
. Trailing directory separators are ignored.
Parameters
Parameter | Type |
---|---|
path | string |
Returns
Promise
<string
>
Example
import { dirname } from '@crabnebula/taurify-api/path';const dir = await dirname('/path/to/somedir/');assert(dir === '/path/to');
documentDir()
function documentDir(): Promise<string>
Returns the path to the user’s document directory.
Returns
Promise
<string
>
Example
import { documentDir } from '@crabnebula/taurify-api/path';const documentDirPath = await documentDir();
Platform-specific
- Linux: Resolves to
xdg-user-dirs
’XDG_DOCUMENTS_DIR
. - macOS: Resolves to
$HOME/Documents
. - Windows: Resolves to
{FOLDERID_Documents}
.
downloadDir()
function downloadDir(): Promise<string>
Returns the path to the user’s download directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs
’XDG_DOWNLOAD_DIR
. - macOS: Resolves to
$HOME/Downloads
. - Windows: Resolves to
{FOLDERID_Downloads}
.
Returns
Promise
<string
>
Example
import { downloadDir } from '@crabnebula/taurify-api/path';const downloadDirPath = await downloadDir();
executableDir()
function executableDir(): Promise<string>
Returns the path to the user’s executable directory.
Platform-specific
- Linux: Resolves to
$XDG_BIN_HOME/../bin
or$XDG_DATA_HOME/../bin
or$HOME/.local/bin
. - macOS: Not supported.
- Windows: Not supported.
Returns
Promise
<string
>
Example
import { executableDir } from '@crabnebula/taurify-api/path';const executableDirPath = await executableDir();
extname()
function extname(path): Promise<string>
Returns the extension of the path
.
Parameters
Parameter | Type |
---|---|
path | string |
Returns
Promise
<string
>
Example
import { extname } from '@crabnebula/taurify-api/path';const ext = await extname('/path/to/file.html');assert(ext === 'html');
fontDir()
function fontDir(): Promise<string>
Returns the path to the user’s font directory.
Platform-specific
- Linux: Resolves to
$XDG_DATA_HOME/fonts
or$HOME/.local/share/fonts
. - macOS: Resolves to
$HOME/Library/Fonts
. - Windows: Not supported.
Returns
Promise
<string
>
Example
import { fontDir } from '@crabnebula/taurify-api/path';const fontDirPath = await fontDir();
homeDir()
function homeDir(): Promise<string>
Returns the path to the user’s home directory.
Platform-specific
- Linux: Resolves to
$HOME
. - macOS: Resolves to
$HOME
. - Windows: Resolves to
{FOLDERID_Profile}
.
Returns
Promise
<string
>
Example
import { homeDir } from '@crabnebula/taurify-api/path';const homeDirPath = await homeDir();
isAbsolute()
function isAbsolute(path): Promise<boolean>
Returns whether the path is absolute or not.
Parameters
Parameter | Type |
---|---|
path | string |
Returns
Promise
<boolean
>
Example
import { isAbsolute } from '@crabnebula/taurify-api/path';assert(await isAbsolute('/home/tauri'));
join()
function join(...paths): Promise<string>
Joins all given path
segments together using the platform-specific separator as a delimiter, then normalizes the resulting path.
Parameters
Parameter | Type |
---|---|
…paths | string [] |
Returns
Promise
<string
>
Example
import { join, appDataDir } from '@crabnebula/taurify-api/path';const appDataDirPath = await appDataDir();const path = await join(appDataDirPath, 'users', 'tauri', 'avatar.png');
localDataDir()
function localDataDir(): Promise<string>
Returns the path to the user’s local data directory.
Platform-specific
- Linux: Resolves to
$XDG_DATA_HOME
or$HOME/.local/share
. - macOS: Resolves to
$HOME/Library/Application Support
. - Windows: Resolves to
{FOLDERID_LocalAppData}
.
Returns
Promise
<string
>
Example
import { localDataDir } from '@crabnebula/taurify-api/path';const localDataDirPath = await localDataDir();
normalize()
function normalize(path): Promise<string>
Normalizes the given path
, resolving '..'
and '.'
segments and resolve symbolic links.
Parameters
Parameter | Type |
---|---|
path | string |
Returns
Promise
<string
>
Example
import { normalize, appDataDir } from '@crabnebula/taurify-api/path';const appDataDirPath = await appDataDir();const path = await normalize(`${appDataDirPath}/../users/tauri/avatar.png`);
pictureDir()
function pictureDir(): Promise<string>
Returns the path to the user’s picture directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs
’XDG_PICTURES_DIR
. - macOS: Resolves to
$HOME/Pictures
. - Windows: Resolves to
{FOLDERID_Pictures}
.
Returns
Promise
<string
>
Example
import { pictureDir } from '@crabnebula/taurify-api/path';const pictureDirPath = await pictureDir();
publicDir()
function publicDir(): Promise<string>
Returns the path to the user’s public directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs
’XDG_PUBLICSHARE_DIR
. - macOS: Resolves to
$HOME/Public
. - Windows: Resolves to
{FOLDERID_Public}
.
Returns
Promise
<string
>
Example
import { publicDir } from '@crabnebula/taurify-api/path';const publicDirPath = await publicDir();
resolve()
function resolve(...paths): Promise<string>
Resolves a sequence of paths
or path
segments into an absolute path.
Parameters
Parameter | Type |
---|---|
…paths | string [] |
Returns
Promise
<string
>
Example
import { resolve, appDataDir } from '@crabnebula/taurify-api/path';const appDataDirPath = await appDataDir();const path = await resolve(appDataDirPath, '..', 'users', 'tauri', 'avatar.png');
resolveResource()
function resolveResource(resourcePath): Promise<string>
Resolve the path to a resource file.
Parameters
Parameter | Type | Description |
---|---|---|
resourcePath | string | The path to the resource. Must follow the same syntax as defined in tauri.conf.json > bundle > resources , i.e. keeping subfolders and parent dir components (../ ). |
Returns
Promise
<string
>
The full path to the resource.
Example
import { resolveResource } from '@crabnebula/taurify-api/path';const resourcePath = await resolveResource('script.sh');
resourceDir()
function resourceDir(): Promise<string>
Returns the path to the application’s resource directory.
To resolve a resource path, see resolveResource
.
Platform-specific
Although we provide the exact path where this function resolves to, this is not a contract and things might change in the future
- Windows: Resolves to the directory that contains the main executable.
- Linux: When running in an AppImage, the
APPDIR
variable will be set to the mounted location of the app, and the resource dir will be${APPDIR}/usr/lib/${exe_name}
. If not running in an AppImage, the path is/usr/lib/${exe_name}
. When running the app fromsrc-tauri/target/(debug|release)/
, the path is${exe_dir}/../lib/${exe_name}
. - macOS: Resolves to
${exe_dir}/../Resources
(inside .app). - iOS: Resolves to
${exe_dir}/assets
. - Android: Currently the resources are stored in the APK as assets so it’s not a normal file system path,
we return a special URI prefix
asset://localhost/
here that can be used with the file system plugin,
Returns
Promise
<string
>
Example
import { resourceDir } from '@crabnebula/taurify-api/path';const resourceDirPath = await resourceDir();
runtimeDir()
function runtimeDir(): Promise<string>
Returns the path to the user’s runtime directory.
Platform-specific
- Linux: Resolves to
$XDG_RUNTIME_DIR
. - macOS: Not supported.
- Windows: Not supported.
Returns
Promise
<string
>
Example
import { runtimeDir } from '@crabnebula/taurify-api/path';const runtimeDirPath = await runtimeDir();
sep()
function sep(): string
Returns the platform-specific path segment separator:
\
on Windows/
on POSIX
Returns
string
tempDir()
function tempDir(): Promise<string>
Returns a temporary directory.
Returns
Promise
<string
>
Example
import { tempDir } from '@crabnebula/taurify-api/path';const temp = await tempDir();
templateDir()
function templateDir(): Promise<string>
Returns the path to the user’s template directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs
’XDG_TEMPLATES_DIR
. - macOS: Not supported.
- Windows: Resolves to
{FOLDERID_Templates}
.
Returns
Promise
<string
>
Example
import { templateDir } from '@crabnebula/taurify-api/path';const templateDirPath = await templateDir();
videoDir()
function videoDir(): Promise<string>
Returns the path to the user’s video directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs
’XDG_VIDEOS_DIR
. - macOS: Resolves to
$HOME/Movies
. - Windows: Resolves to
{FOLDERID_Videos}
.
Returns
Promise
<string
>
Example
import { videoDir } from '@crabnebula/taurify-api/path';const videoDirPath = await videoDir();