vite-aliases
Alias auto generation for Vite 6
Usage
Install
npm i vite-aliases -D
Add it to vite.config.js
import { ViteAliases } from 'vite-aliases'
export default {
plugins: [
ViteAliases()
]
};
Add this to package.json
(Plugin is only available for ESM)
{
"type": "module"
}
That's it!
Based on your Folderstructure, it will now automatically generate all needed aliases.
You can configure it to any desired Depth, but it is recommend to stay on the first Level!
Furthermore it will use your native OS filesystem, so it works on Linux, Mac, Windows and other OS.
This structure:
src
assets
components
pages
store
utils
will generate the following:
[
{
find: '@',
replacement: '${your_project_path}/src'
},
{
find: '@assets',
replacement: '${your_project_path}/src/assets'
},
{
find: '@components',
replacement: '${your_project_path}/src/components'
},
{
find: '@pages',
replacement: '${your_project_path}/src/pages'
},
{
find: '@store',
replacement: '${your_project_path}/src/store'
},
{
find: '@utils',
replacement: '${your_project_path}/src/utils'
},
]
Best Practice
vite-aliases
is meant to simply take the first Layer of your folders and turn it into useful Shortcuts.
Therefore i advise you to use the default Configuration and not use folders with the same name, otherwise it will create an Error.
If however you need duplicate Foldernames, enable adjustDuplicates
.
This will turn the entire Filepath of said duplicate into the alias itself, like shown in the Example below.
Example:
`src/components` -> `@components`
`src/pages/components` -> `@pagesComponents`
`src/test/new/partials/components` -> `@testNewPartialsComponents`
and so on..
Configuration
Current available options:
ViteAliases({
dir: 'src',
prefix: '~',
deep: true,
depth: 1,
createLog: false,
logPath: 'src/logs',
createGlobalAlias: true,
adjustDuplicates: false,
useAbsolute: false,
useIndexes: false,
useConfig: true,
ovrConfig: false,
dts: false,
silent: true,
root: process.cwd()
});
Thanks
Thanks to @brattonross and @antfu,
due to this tiny library beeing inspired by both projects:
vite-plugin-voie
unplugin-vue-components.
License
MIT License © 2020-PRESENT Leon Langer