Files
bodyshop/client/vite.config.js

59 lines
1.6 KiB
JavaScript

import react from '@vitejs/plugin-react';
import { promises as fsPromises } from 'fs';
import { createRequire } from 'module';
import * as path from 'path';
import * as url from 'url';
import { defineConfig } from 'vite';
import { ViteEjsPlugin } from 'vite-plugin-ejs';
process.env.VITE_APP_GIT_SHA_DATE = new Date().toLocaleString('en-US', {
timeZone: 'America/Los_Angeles',
});
const WRONG_CODE = `import { bpfrpt_proptype_WindowScroller } from "../WindowScroller.js";`;
function reactVirtualized() {
return {
name: 'flat:react-virtualized',
configResolved: async () => {
const require = createRequire(import.meta.url);
const reactVirtualizedPath = require.resolve('react-virtualized');
const { pathname: reactVirtualizedFilePath } = new url.URL(
reactVirtualizedPath,
import.meta.url
);
const file = reactVirtualizedFilePath.replace(
path.join('dist', 'commonjs', 'index.js'),
path.join('dist', 'es', 'WindowScroller', 'utils', 'onScroll.js')
);
const code = await fsPromises.readFile(file, 'utf-8');
const modified = code.replace(WRONG_CODE, '');
await fsPromises.writeFile(file, modified);
},
};
}
export default defineConfig({
base: '/',
plugins: [
ViteEjsPlugin((viteConfig) => {
// viteConfig is the current Vite resolved config
return { env: viteConfig.env };
}),
reactVirtualized(),
react(),
],
server: {
host: true,
port: 3000,
open: true,
},
optimizeDeps: {
esbuildOptions: {
loader: {
'.js': 'jsx',
},
},
},
});