Presupuestador_web/client/vite.config.ts
2025-04-16 11:10:22 +02:00

65 lines
1.5 KiB
TypeScript

import react from "@vitejs/plugin-react";
import { readFileSync } from "fs";
import { createRequire } from "node:module";
import path from "node:path";
import { defineConfig, normalizePath } from "vite";
import { createHtmlPlugin } from "vite-plugin-html";
import { robots } from "vite-plugin-robots";
import { viteStaticCopy } from "vite-plugin-static-copy";
const pkg = JSON.parse(readFileSync("./package.json", "utf-8"));
const require = createRequire(import.meta.url);
const pdfjsDistPath = path.dirname(require.resolve("pdfjs-dist/package.json"));
const cMapsDir = normalizePath(path.join(pdfjsDistPath, "cmaps"));
const standardFontsDir = normalizePath(
path.join(path.dirname(require.resolve("pdfjs-dist/package.json")), "standard_fonts")
);
export default defineConfig({
define: {
__APP_VERSION__: JSON.stringify(pkg.version),
},
build: {
outDir: "../dist/client",
emptyOutDir: true,
},
plugins: [
react(),
robots({}),
createHtmlPlugin({
inject: {
data: {
appVersion: pkg.version,
},
},
}),
viteStaticCopy({
targets: [
{
src: cMapsDir,
dest: "",
},
{
src: standardFontsDir,
dest: "",
},
],
}),
],
css: { postcss: "./postcss.config.js" },
resolve: {
alias: [
{
find: "@",
replacement: path.resolve(__dirname, "./src"),
},
{
find: "@shared",
replacement: path.resolve(__dirname, "../shared/lib/"),
},
],
},
});