Troubleshooting
This article covers common errors and how to resolve them, organized by the stage where they appear.
Setup errors
No consumer workspace config was found
When it appears: Running any build or generation command before init.
Cause: The engine cannot find aplica-theme-engine.config.mjs in the project root.
Fix:
npx theme-engine init
Or create aplica-theme-engine.config.mjs manually. See 01-quick-start.md.
theme-engine command not found
Cause: The package is not installed, or the .bin directory is not in PATH.
Fix:
# Install the package
npm install @aplica/aplica-theme-engine
# Use npx if the binary is not in PATH
npx theme-engine init
CLI produces no output on Windows
Cause: PowerShell sometimes suppresses output from Node.js processes started via npx.
Fixes:
- Run with
nodedirectly:node .\node_modules\@aplica-ds\aplica-theme-engine\index.mjs init - Switch to Command Prompt (
cmd.exe) and retry. - Ensure Node.js ≥ 18.0.0 is installed (
node -v).
Generation errors
AAA accessibility warning
When it appears: During themes:generate.
Cause: One or more palette levels do not meet AAA contrast ratio (7:1).
This is a warning, not a failure. The build continues with AA fallback (4.5:1).
Options:
- Accept AA fallback (default) — set
acceptAALevelFallback: truein the brand config. The engine continues automatically. - Change the brand color — adjust the color in
*.config.mjsuntil AAA passes. - Switch to AA target — set
accessibilityLevel: 'AA'in the brand config to use 4.5:1 as the target.
No font assets directory found
When it appears: During build:all, when copyFonts: true in transformers.config.mjs.
Cause: assets/fonts/ directory does not exist in the project root.
This is a warning, not a failure. All other outputs are still generated.
Fix: Either create the assets/fonts/ directory and add font files, or disable font copying:
// theme-engine/transformers.config.mjs
assets: {
copyFonts: false,
generateFontsManifest: false
}
Gradients not propagated
When it appears: During sync:architecture, when gradients are enabled.
Cause: themes:generate has not been run yet, so brand gradient data does not exist.
Fix: Always run themes:generate before sync:architecture, or use the full pipeline:
npm run tokens:build
Build errors
validate:data exits non-zero
When it appears: When running theme-engine validate:data.
Cause: The generated data/ does not match the expected schema contract. Common causes:
- Brand config changed but
themes:generatewas not re-run - Schema overrides in
theme-engine/schemas/are out of sync withdata/
Fix:
# Regenerate data from scratch
npm run tokens:build
Style Dictionary build fails with could not resolve reference
When it appears: During build:all.
Cause: A token in data/ references another token that does not exist. Usually caused by running build:all after a partial themes:generate that did not complete.
Fix:
# Full regeneration — regenerates data/ from config before building
npm run tokens:build
output paths must stay inside the consumer workspace root
Cause: A path in aplica-theme-engine.config.mjs or transformers.config.mjs points outside the project root. The engine refuses to write outside the workspace as a safety measure.
Fix: Ensure all paths.* and output.directories.* values resolve to paths inside your project directory. Use relative paths starting with ./.
Windows-specific issues
Path errors with backslashes
Cause: Windows uses \ as the path separator but some tools expect /.
Fix: Always use forward slashes in config files, even on Windows:
// Correct
paths: {
configDir: './theme-engine/config'
}
// Will cause issues on some systems
paths: {
configDir: '.\\theme-engine\\config'
}
CLI exits silently in CI (Windows runner)
Cause: The Windows npx wrapper can suppress stderr output from ESM scripts.
Fix: Call Node.js directly in CI scripts:
# GitHub Actions — Windows runner
- name: Build tokens
run: node ./node_modules/@aplica/aplica-theme-engine/index.mjs build
Permission denied writing to dist/
Cause: A previous build process or antivirus software locked files in dist/.
Fix:
- Delete
dist/anddata/manually. - Re-run
npm run tokens:build.
Diagnosing unknown errors
Check Node.js version
node -v
# Must be v18.0.0 or higher
Check workspace resolution
The CLI prints its resolved paths on startup:
theme-engine
Package root: /path/to/node_modules/@aplica/aplica-theme-engine
Workspace root: /path/to/your-project
Command: build
Verify that Workspace root points to your project and not to the package's own directory. If they match, the engine is running in self-referential mode (inside the package itself), which means the workspace config was not found.
Clean rebuild
Delete generated directories and rebuild from scratch:
rm -rf data/ dist/
npm run tokens:build
Getting help
If none of the above resolves the issue:
- Note the exact error message and the command that produced it.
- Note your Node.js version, OS, and shell (PowerShell / bash / cmd).
- Note the contents of
aplica-theme-engine.config.mjs(without any sensitive color values). - Open an issue in the project repository with this information.