65 lines
1.5 KiB
TypeScript
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/"),
|
|
},
|
|
],
|
|
},
|
|
});
|