- Published on
Fixing the "No Import Alias Found in tsconfig.json" Error in Shadcn
- Authors
- Name
- Ripal & Zalak
Fixing the "No Import Alias Found in tsconfig.json" Error in Shadcn
When setting up Shadcn in a Vite React project, you might encounter the following error:
No import alias found in your tsconfig.json file. Visit https://ui.shadcn.com/docs/installation/vite to learn how to set an import alias.
This guide will help you understand the cause of the error and walk you through fixing it in your project.
What Causes This Error?
The error occurs because Shadcn requires import aliases to be defined in your tsconfig.json
file. Import aliases simplify imports by allowing you to use short, user-defined paths instead of relative paths.
For example, instead of:
import Component from '../../../components/Component'
You can use:
import Component from '@/components/Component'
If your tsconfig.json
does not include the correct alias configuration, Shadcn will throw this error.
How to Fix the Error
tsconfig.json
File
1. Update Your Ensure that your tsconfig.json
file contains the correct alias configuration. Add the following under the compilerOptions
section:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
}
}
Explanation:
baseUrl
: Specifies the base directory for resolving non-relative module names. Setting it to.
ensures the base directory is the root of your project.paths
: Maps the alias@/*
to thesrc
folder. Replacesrc
with your actual source directory if it’s different.
./
Prefix for Path Resolution
2. Add the If you still encounter the error after updating tsconfig.json
, ensure you add ./
before src
in the paths
configuration. This adjustment resolves relative paths correctly.
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
}
}
3. Check for Consistency in Your Project Setup
For TypeScript Projects:
Make sure you’re using TypeScript. Shadcn relies on tsconfig.json
, which is a TypeScript configuration file. If you’re using JavaScript, you’ll need to convert your project to TypeScript or use jsconfig.json
with similar settings.
For JavaScript Projects:
Use jsconfig.json
instead of tsconfig.json
and replicate the same configuration:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
}
}
4. Restart Your Development Server
After making changes to tsconfig.json
or jsconfig.json
, restart your development server to ensure the changes take effect.
npm run dev
tsconfig.json
File
Example Here’s a complete example of a working tsconfig.json
for a typical Shadcn + Vite project:
{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"strict": true,
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
},
"include": ["src"],
"exclude": ["node_modules"]
}
Additional Notes for Astro Developers
If you’re using Astro with Shadcn, ensure your tsconfig.json
includes:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
}
}
Refer to the Shadcn Astro Installation Guide for more details.
Conclusion
The "No import alias found in your tsconfig.json file" error can be easily fixed by correctly configuring your tsconfig.json
file with the required import aliases. Following the steps outlined in this guide ensures your Shadcn setup works seamlessly in Vite React or other supported environments.
Key Takeaways:
- Define
baseUrl
andpaths
in yourtsconfig.json
orjsconfig.json
. - Use the
./
prefix for paths to ensure correct resolution. - Restart your development server after making changes.
With these steps, you’re ready to build robust and scalable projects with Shadcn UI!