33 lines
747 B
JavaScript
33 lines
747 B
JavaScript
import { defineConfig } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
import * as esbuild from "esbuild";
|
|
import fs from 'fs/promises';
|
|
|
|
export default defineConfig(() => ({
|
|
plugins: [react()],
|
|
build: {
|
|
outDir: './build',
|
|
},
|
|
esbuild: {
|
|
loader: "jsx",
|
|
include: /src\/.*\.jsx?$/,
|
|
// loader: "tsx",
|
|
// include: /src\/.*\.[tj]sx?$/,
|
|
exclude: [],
|
|
},
|
|
optimizeDeps: {
|
|
esbuildOptions: {
|
|
plugins: [
|
|
{
|
|
name: "load-js-files-as-jsx",
|
|
setup(build) {
|
|
build.onLoad({ filter: /src\/.*\.js$/ }, async (args) => ({
|
|
loader: "jsx",
|
|
contents: await fs.readFile(args.path, "utf8"),
|
|
}));
|
|
},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
})); |