Skip to content

path

The path module provides utilities for working with file and directory paths.

This package is also accessible with window.__TAURIFY__.path.

Enumerations

BaseDirectory

Enumeration Members

AppCache
AppCache: 16;

AppConfig
AppConfig: 13;

AppData
AppData: 14;

AppLocalData
AppLocalData: 15;

AppLog
AppLog: 17;

Audio
Audio: 1;

Cache
Cache: 2;

Config
Config: 3;

Data
Data: 4;

Desktop
Desktop: 18;

Document
Document: 6;

Download
Download: 7;

Executable
Executable: 19;

Font
Font: 20;

Home
Home: 21;

LocalData
LocalData: 5;

Picture
Picture: 8;

Public
Public: 9;

Resource
Resource: 11;

Runtime
Runtime: 22;

Temp
Temp: 12;

Template
Template: 23;

Video
Video: 10;

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 taurify.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 taurify.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 taurify.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 taurify.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 directory name of a 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 === 'somedir');

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 the [[resolveResource | resolveResource API]].

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();