Troubleshooting
Common issues and solutions.
Installation Issues
Module Not Found
Error: Cannot find module '@tokiforge/core'
Solution:
npm install @tokiforge/core
# Or reinstall all
npm installTypeScript Errors
Error: Could not find a declaration file
Solution:
- Ensure TypeScript 5.0+
- Check
tsconfig.jsonincludes node_modules - Restart TypeScript server
Runtime Issues
Theme Not Switching
Problem: Theme changes but nothing updates
Solution:
- Check CSS variables are being used
- Verify
runtime.init()was called - Check browser console for errors
CSS Variables Not Applied
Problem: CSS variables don't appear
Solution:
// Ensure runtime is initialized
runtime.init(":root", "hf");
// Check selector matches
runtime.applyTheme("dark", ".my-app", "custom");SSR Errors
Problem: Errors during server-side rendering
Solution: TokiForge handles SSR automatically. If issues persist:
if (typeof window !== "undefined") {
runtime.init();
}Token Issues
Invalid Token Structure
Error: Invalid token value at path
Solution:
- Ensure all tokens have
valueproperty - Check value types match (string/number)
- Run
tokiforge lintto validate
Reference Not Found
Error: Token reference not found: {color.primary}
Solution:
- Check reference path is correct
- Ensure referenced token exists
- Verify token is defined before reference
Parse Errors
Error: Unexpected token in JSON
Solution:
- Validate JSON syntax
- Check for trailing commas
- Use
tokiforge lintto find issues
Build Issues
Browser Build Errors
Error: createRequire is not available in browser environment
Error: Could not resolve "module" / "fs" / "yaml"
Solution:
Do not import @tokiforge/core (full barrel) in browser apps — it includes Node-only APIs like TokenParser.
// Browser / framework apps
import { ThemeRuntime, TokenExporter } from '@tokiforge/core/runtime';
// or use a framework package:
import { ThemeProvider } from '@tokiforge/react';
// Browser-safe build/analysis helpers (no fs/yaml)
import { SSRUtils, TokenAnalytics, IOSExporter } from '@tokiforge/core/tools';
// CLI / build scripts only
import { TokenParser, CICDValidator } from '@tokiforge/core/node';Error: Module '"@tokiforge/core/runtime"' has no exported member 'SSRUtils' (or TokenAnalytics, SemanticTokenManager, platform exporters, …)
Solution: As of v2.4.0 those helpers moved to @tokiforge/core/tools so /runtime stays under 3 KB. Update the import path; the default @tokiforge/core entry still exports everything.
Docs Site: Failed to resolve import "@tokiforge/core/runtime"
Run pnpm --filter @tokiforge/core build first (the docs predev/prebuild scripts do this automatically). The VitePress config aliases /runtime to the built dist and falls back to source when it is missing. Do not add a plain string alias for @tokiforge/core in Vite — it rewrites the /runtime subpath as a prefix and breaks resolution.
TypeScript Build Errors
Error: Property 'then' does not exist on type 'void'
Error: Property 'catch' does not exist on type 'void'
Solution:
In TokiForge v1.2.0, ThemeRuntime.init() and ThemeRuntime.applyTheme() are synchronous methods. Remove .then() and .catch() calls:
// ❌ Incorrect (v1.1.x style)
runtime.init(selector, prefix).then(() => {
// ...
});
// ✅ Correct (v1.2.0)
runtime.init(selector, prefix);
// or with error handling
try {
runtime.init(selector, prefix);
} catch (err) {
console.error("Failed to initialize:", err);
}Framework-Specific
React: Hook Errors
Error: useTheme must be used within ThemeProvider
Solution:
// Wrap app with ThemeProvider
<ThemeProvider config={config}>
<App />
</ThemeProvider>Vue: Composition API
Error: useTheme must be used within provideTheme
Solution:
<script setup>
provideTheme(config);
const { tokens } = useTheme();
</script>Vue: Package Resolution Error
Error: Failed to resolve entry for package "@tokiforge/vue". The package may have incorrect main/module/exports specified in its package.json
Solution: This issue was fixed in v1.2.0. If you're experiencing this:
Ensure you're using the latest version:
bashnpm install @tokiforge/vue@^1.2.0Clear your node_modules and reinstall:
bashrm -rf node_modules package-lock.json npm installClear npm cache if the issue persists:
bashnpm cache clean --force npm install @tokiforge/vue@^1.2.0
Note: This was caused by incorrect package.json exports that didn't match the actual build output. The fix aligns exports with the built files (index.cjs for CommonJS, index.js for ESM).
Svelte: Store Errors
Error: Store not reactive
Solution:
<script>
const themeStore = createThemeStore(config);
// Use $ prefix for reactivity
$themeStore.theme
</script>CLI Issues
Command Not Found
Error: TokiForge: command not found
Solution:
# Install globally
npm install -g tokiforge-cli@^1.2.0
# Or use npx
npx tokiforge-cli@^1.2.0 initBuild Errors
Error: Build fails
Solution:
- Check
tokiforge.config.jsonexists - Verify token file path is correct
- Run
tokiforge lintto find issues
Performance Issues
Slow Theme Switching
Problem: Theme switching is slow
Solution:
- Use CSS variables instead of JS tokens
- Check for unnecessary re-renders
- Minimize token file size
Large Bundle Size
Problem: Bundle is too large
Solution:
- Tree-shake unused exports
- Use framework adapter only
- Don't import entire core if not needed
Still Having Issues?
- Check GitHub Issues
- Review Examples
- See API Reference