jsoncv/vite.config.js

42 lines
1.0 KiB
JavaScript

import { resolve } from 'path';
import { defineConfig } from 'vite';
import { ViteEjsPlugin } from 'vite-plugin-ejs';
import { viteSingleFile } from 'vite-plugin-singlefile';
import { TransformEjs } from './src/lib/vite-plugins';
import { getRenderData } from './src/themes/data';
const dataFilename = process.env.DATA_FILENAME || './sample.resume.json'
const outDir = process.env.OUT_DIR || 'dist'
const cvData = require(dataFilename)
const data = getRenderData(cvData)
data.theme = process.env.THEME || 'reorx'
data.isProduction = process.env.NODE_ENV === 'production'
export default defineConfig({
build: {
outDir: outDir,
},
resolve: {
alias: {
// remove the "Module "fs" has been externalized" warning for ejs
'fs': 'src/lib/fs-polyfill.js',
},
},
plugins: [
TransformEjs(),
ViteEjsPlugin(
data,
{
ejs: (viteConfig) => ({
// ejs options goes here.
views: [resolve(__dirname)],
})
}
),
viteSingleFile(),
],
})