Skip to main content
Two kinds of relative path meet in a build, and they resolve against different directories.

The host’s root

The root is where the bundler says the project is: The plugin’s own root option overrides it:

Inside a configuration

A relative source, include or buildPath is read against the working directory, because that is what Style Dictionary itself does when it globs and when it writes. A configuration therefore behaves exactly as it does under Style Dictionary’s own CLI, run from the same directory.
sd.config.jsonc
The two only come apart when the host’s root is not the working directory, such as a Vite root pointing at a subfolder. Absolute paths avoid the question entirely.
A destination is joined onto its buildPath, as Style Dictionary joins it, so even an absolute destination lands under the build path.