Skip to content
Tauri

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: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L35

AppConfig
AppConfig: 13;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L32

AppData
AppData: 14;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L33

AppLocalData
AppLocalData: 15;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L34

AppLog
AppLog: 17;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L36

Audio
Audio: 1;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L20

Cache
Cache: 2;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L21

Config
Config: 3;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L22

Data
Data: 4;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L23

Desktop
Desktop: 18;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L37

Document
Document: 6;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L25

Download
Download: 7;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L26

Executable
Executable: 19;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L38

Font
Font: 20;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L39

Home
Home: 21;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L40

LocalData
LocalData: 5;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L24

Picture
Picture: 8;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L27

Public
Public: 9;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L28

Resource
Resource: 11;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L30

Runtime
Runtime: 22;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L41

Temp
Temp: 12;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L31

Template
Template: 23;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L42

Video
Video: 10;

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L29

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 '@tauri-apps/api/path';
const appCacheDirPath = await appCacheDir();

Since

1.2.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L107


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 '@tauri-apps/api/path';
const appConfigDirPath = await appConfigDir();

Since

1.2.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L56


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 '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();

Since

1.2.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L73


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 '@tauri-apps/api/path';
const appLocalDataDirPath = await appLocalDataDir();

Since

1.2.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L90


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 '@tauri-apps/api/path';
const appLogDirPath = await appLogDir();

Since

1.2.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L519


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 '@tauri-apps/api/path';
const audioDirPath = await audioDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L129


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 '@tauri-apps/api/path';
const base = await basename('path/to/app.conf');
assert(base === 'app.conf');

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L649


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 '@tauri-apps/api/path';
const cacheDirPath = await cacheDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L151


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 '@tauri-apps/api/path';
const configDirPath = await configDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L173


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 '@tauri-apps/api/path';
const dataDirPath = await dataDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L195


delimiter()

function delimiter(): string

Returns the platform-specific path segment delimiter:

  • ; on Windows
  • : on POSIX

Returns

string

Since

2.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L559


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 '@tauri-apps/api/path';
const desktopPath = await desktopDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L217


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 '@tauri-apps/api/path';
const dir = await dirname('/path/to/somedir/');
assert(dir === 'somedir');

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L618


documentDir()

function documentDir(): Promise<string>

Returns the path to the user’s document directory.

Returns

Promise<string>

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

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L239


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 '@tauri-apps/api/path';
const downloadDirPath = await downloadDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L261


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 '@tauri-apps/api/path';
const executableDirPath = await executableDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L283


extname()

function extname(path): Promise<string>

Returns the extension of the path.

Parameters

ParameterType
pathstring

Returns

Promise<string>

Example

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

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L633


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 '@tauri-apps/api/path';
const fontDirPath = await fontDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L305


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 '@tauri-apps/api/path';
const homeDirPath = await homeDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L327


isAbsolute()

function isAbsolute(path): Promise<boolean>

Returns whether the path is absolute or not.

Parameters

ParameterType
pathstring

Returns

Promise<boolean>

Example

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

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L663


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 '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const path = await join(appDataDirPath, 'users', 'tauri', 'avatar.png');

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L603


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 '@tauri-apps/api/path';
const localDataDirPath = await localDataDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L349


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 '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const path = await normalize(`${appDataDirPath}/../users/tauri/avatar.png`);

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L588


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 '@tauri-apps/api/path';
const pictureDirPath = await pictureDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L371


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 '@tauri-apps/api/path';
const publicDirPath = await publicDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L393


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 '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const path = await resolve(appDataDirPath, '..', 'users', 'tauri', 'avatar.png');

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L573


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 '@tauri-apps/api/path';
const resourcePath = await resolveResource('script.sh');

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L430


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 '@tauri-apps/api/path';
const resourceDirPath = await resourceDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L410


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 '@tauri-apps/api/path';
const runtimeDirPath = await runtimeDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L453


sep()

function sep(): string

Returns the platform-specific path segment separator:

  • \ on Windows
  • / on POSIX

Returns

string

Since

2.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L548


tempDir()

function tempDir(): Promise<string>

Returns a temporary directory.

Returns

Promise<string>

Example

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

Since

2.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L535


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 '@tauri-apps/api/path';
const templateDirPath = await templateDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L475


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 '@tauri-apps/api/path';
const videoDirPath = await videoDir();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L497


© 2024 Tauri Contributors. CC-BY / MIT