39 lines
827 B
TypeScript
39 lines
827 B
TypeScript
import path from "path";
|
|
|
|
import { defineConfig } from "vite";
|
|
import vue from "@vitejs/plugin-vue";
|
|
|
|
import tsconfig from "./tsconfig.json";
|
|
|
|
const tsconfigPathAliases = Object.fromEntries(
|
|
Object.entries(tsconfig.compilerOptions.paths).map(([key, values]) => {
|
|
let value = values[0];
|
|
if (key.endsWith("/*")) {
|
|
key = key.slice(0, -2);
|
|
value = value.slice(0, -2);
|
|
}
|
|
|
|
const nodeModulesPrefix = "node_modules/";
|
|
if (value.startsWith(nodeModulesPrefix)) {
|
|
value = value.replace(nodeModulesPrefix, "");
|
|
} else {
|
|
value = path.join(__dirname, value);
|
|
}
|
|
|
|
return [key, value];
|
|
})
|
|
);
|
|
|
|
export default defineConfig({
|
|
plugins: [
|
|
vue()
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
...tsconfigPathAliases,
|
|
vue: "vue/dist/vue.esm-bundler.js"
|
|
},
|
|
dedupe: ['vue'],
|
|
}
|
|
});
|