Skip to content

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-dirsXDG_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

ParameterTypeDescription
pathstring-
ext?stringAn 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-dirsXDG_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

ParameterType
pathstring

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-dirsXDG_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-dirsXDG_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

ParameterType
pathstring

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

ParameterType
pathstring

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

ParameterType
pathsstring[]

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

ParameterType
pathstring

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-dirsXDG_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-dirsXDG_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

ParameterType
pathsstring[]

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

ParameterTypeDescription
resourcePathstringThe 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 from src-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-dirsXDG_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-dirsXDG_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();