When pre-bundling dependencies, ESBuild doesn't use Vite's resolve.alias configuration. ESBuild itself has its own alias configuration. But that doesn't seem to be working. This is my configuration:
function getAliases() {
const aliases = [
{
find: '@org/svgs',
replacement: path.resolve(process.cwd(), 'node_modules', '@org/icons')
},
];
return aliases;
}
const config = defineConfig({
// ... Other Vite configuration
optimizeDeps: {
// ... Other optimizeDeps options
esbuildOptions: {
alias: {
'@org/svgs': '@org/icons',
},
plugins: [
svgr({
exportType: 'default',
expandProps: false,
jsxRuntime: 'classic',
}),
],
resolveExtensions: extensions,
},
extensions: ['.svg'],
},
resolve: {
extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.svg'],
dedupe: [],
alias: getAliases(),
},
});
export default config;
Is there some other way or Vite/ESBuld plugin I can use to rewrite aliases for ESBuild especially during pre-bundling?