Skip to content
Tauri
Releases

path

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

This package is also accessible with window.__TAURI__.path when app.withGlobalTauri in tauri.conf.json is set to true.

It is recommended to allowlist only the APIs you use for optimal bundle size and security.

Enumerations

BaseDirectory

Since

2.0.0

Enumeration Members

AppCache
AppCache: 16;

Source: path.ts:35


AppConfig
AppConfig: 13;

Source: path.ts:32


AppData
AppData: 14;

Source: path.ts:33


AppLocalData
AppLocalData: 15;

Source: path.ts:34


AppLog
AppLog: 17;

Source: path.ts:36


Audio
Audio: 1;

Source: path.ts:20


Cache
Cache: 2;

Source: path.ts:21


Config
Config: 3;

Source: path.ts:22


Data
Data: 4;

Source: path.ts:23


Desktop
Desktop: 18;

Source: path.ts:38


Document
Document: 6;

Source: path.ts:25


Download
Download: 7;

Source: path.ts:26


Executable
Executable: 19;

Source: path.ts:39


Font
Font: 20;

Source: path.ts:40


Home
Home: 21;

Source: path.ts:41


LocalData
LocalData: 5;

Source: path.ts:24


Picture
Picture: 8;

Source: path.ts:27


Public
Public: 9;

Source: path.ts:28


Resource
Resource: 11;

Source: path.ts:30


Runtime
Runtime: 22;

Source: path.ts:42


Temp
Temp: 12;

Source: path.ts:31


Template
Template: 23;

Source: path.ts:43


Video
Video: 10;

Source: path.ts:29

Functions

appCacheDir()

appCacheDir(): Promise< string >

Returns the path to the suggested directory for your app’s cache files. Resolves to ${cacheDir}/${bundleIdentifier}, where bundleIdentifier is the value tauri.bundle.identifier is configured in tauri.conf.json.

Example

import { appCacheDir } from '@tauri-apps/api/path';
const appCacheDirPath = await appCacheDir();

Since

1.2.0

Returns

Promise< string >

Source: path.ts:108


appConfigDir()

appConfigDir(): Promise< string >

Returns the path to the suggested directory for your app’s config files. Resolves to ${configDir}/${bundleIdentifier}, where bundleIdentifier is the value tauri.bundle.identifier is configured in tauri.conf.json.

Example

import { appConfigDir } from '@tauri-apps/api/path';
const appConfigDirPath = await appConfigDir();

Since

1.2.0

Returns

Promise< string >

Source: path.ts:57


appDataDir()

appDataDir(): Promise< string >

Returns the path to the suggested directory for your app’s data files. Resolves to ${dataDir}/${bundleIdentifier}, where bundleIdentifier is the value tauri.bundle.identifier is configured in tauri.conf.json.

Example

import { appDataDir } from '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();

Since

1.2.0

Returns

Promise< string >

Source: path.ts:74


appLocalDataDir()

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 value tauri.bundle.identifier is configured in tauri.conf.json.

Example

import { appLocalDataDir } from '@tauri-apps/api/path';
const appLocalDataDirPath = await appLocalDataDir();

Since

1.2.0

Returns

Promise< string >

Source: path.ts:91


appLogDir()

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.

Example

import { appLogDir } from '@tauri-apps/api/path';
const appLogDirPath = await appLogDir();

Since

1.2.0

Returns

Promise< string >

Source: path.ts:520


audioDir()

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}.

Example

import { audioDir } from '@tauri-apps/api/path';
const audioDirPath = await audioDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:130


basename()

basename(path, ext?): Promise< string >

Returns the last portion of a path. Trailing directory separators are ignored.

Example

import { basename } from '@tauri-apps/api/path';
const base = await basename('path/to/app.conf');
assert(base === 'app.conf');

Since

1.0.0

Parameters

ParameterTypeDescription
pathstring-
ext?stringAn optional file extension to be removed from the returned path.

Returns

Promise< string >

Source: path.ts:650


cacheDir()

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}.

Example

import { cacheDir } from '@tauri-apps/api/path';
const cacheDirPath = await cacheDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:152


configDir()

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}.

Example

import { configDir } from '@tauri-apps/api/path';
const configDirPath = await configDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:174


dataDir()

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}.

Example

import { dataDir } from '@tauri-apps/api/path';
const dataDirPath = await dataDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:196


delimiter()

delimiter(): string

Returns the platform-specific path segment delimiter:

  • ; on Windows
  • : on POSIX

Since

2.0.0

Returns

string

Source: path.ts:560


desktopDir()

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}.

Example

import { desktopDir } from '@tauri-apps/api/path';
const desktopPath = await desktopDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:218


dirname()

dirname(path): Promise< string >

Returns the directory name of a path. Trailing directory separators are ignored.

Example

import { dirname } from '@tauri-apps/api/path';
const dir = await dirname('/path/to/somedir/');
assert(dir === 'somedir');

Since

1.0.0

Parameters

ParameterType
pathstring

Returns

Promise< string >

Source: path.ts:619


documentDir()

documentDir(): Promise< string >

Returns the path to the user’s document directory.

Example

import { documentDir } from '@tauri-apps/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}.

Since

1.0.0

Returns

Promise< string >

Source: path.ts:240


downloadDir()

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}.

Example

import { downloadDir } from '@tauri-apps/api/path';
const downloadDirPath = await downloadDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:262


executableDir()

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.

Example

import { executableDir } from '@tauri-apps/api/path';
const executableDirPath = await executableDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:284


extname()

extname(path): Promise< string >

Returns the extension of the path.

Example

import { extname } from '@tauri-apps/api/path';
const ext = await extname('/path/to/file.html');
assert(ext === 'html');

Since

1.0.0

Parameters

ParameterType
pathstring

Returns

Promise< string >

Source: path.ts:634


fontDir()

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.

Example

import { fontDir } from '@tauri-apps/api/path';
const fontDirPath = await fontDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:306


homeDir()

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}.

Example

import { homeDir } from '@tauri-apps/api/path';
const homeDirPath = await homeDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:328


isAbsolute()

isAbsolute(path): Promise< boolean >

Returns whether the path is absolute or not.

Example

import { isAbsolute } from '@tauri-apps/api/path';
assert(await isAbsolute('/home/tauri'));

Since

1.0.0

Parameters

ParameterType
pathstring

Returns

Promise< boolean >

Source: path.ts:664


join()

join(...paths): Promise< string >

Joins all given path segments together using the platform-specific separator as a delimiter, then normalizes the resulting path.

Example

import { join, appDataDir } from '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const path = await join(appDataDirPath, 'users', 'tauri', 'avatar.png');

Since

1.0.0

Parameters

ParameterType
pathsstring[]

Returns

Promise< string >

Source: path.ts:604


localDataDir()

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}.

Example

import { localDataDir } from '@tauri-apps/api/path';
const localDataDirPath = await localDataDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:350


normalize()

normalize(path): Promise< string >

Normalizes the given path, resolving '..' and '.' segments and resolve symbolic links.

Example

import { normalize, appDataDir } from '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const path = await normalize(`${appDataDirPath}/../users/tauri/avatar.png`);

Since

1.0.0

Parameters

ParameterType
pathstring

Returns

Promise< string >

Source: path.ts:589


pictureDir()

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}.

Example

import { pictureDir } from '@tauri-apps/api/path';
const pictureDirPath = await pictureDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:372


publicDir()

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}.

Example

import { publicDir } from '@tauri-apps/api/path';
const publicDirPath = await publicDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:394


resolve()

resolve(...paths): Promise< string >

Resolves a sequence of paths or path segments into an absolute path.

Example

import { resolve, appDataDir } from '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const path = await resolve(appDataDirPath, '..', 'users', 'tauri', 'avatar.png');

Since

1.0.0

Parameters

ParameterType
pathsstring[]

Returns

Promise< string >

Source: path.ts:574


resolveResource()

resolveResource(resourcePath): Promise< string >

Resolve the path to a resource file.

Example

import { resolveResource } from '@tauri-apps/api/path';
const resourcePath = await resolveResource('script.sh');

Since

1.0.0

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.

Source: path.ts:431


resourceDir()

resourceDir(): Promise< string >

Returns the path to the application’s resource directory. To resolve a resource path, see the [[resolveResource | resolveResource API]].

Example

import { resourceDir } from '@tauri-apps/api/path';
const resourceDirPath = await resourceDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:411


runtimeDir()

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.

Example

import { runtimeDir } from '@tauri-apps/api/path';
const runtimeDirPath = await runtimeDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:454


sep()

sep(): string

Returns the platform-specific path segment separator:

  • \ on Windows
  • / on POSIX

Since

2.0.0

Returns

string

Source: path.ts:549


tempDir()

tempDir(): Promise< string >

Returns a temporary directory.

Example

import { tempDir } from '@tauri-apps/api/path';
const temp = await tempDir();

Since

2.0.0

Returns

Promise< string >

Source: path.ts:536


templateDir()

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}.

Example

import { templateDir } from '@tauri-apps/api/path';
const templateDirPath = await templateDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:476


videoDir()

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}.

Example

import { videoDir } from '@tauri-apps/api/path';
const videoDirPath = await videoDir();

Since

1.0.0

Returns

Promise< string >

Source: path.ts:498


© 2024 Tauri Contributors. CC-BY / MIT