-
Notifications
You must be signed in to change notification settings - Fork 2
/
vite.config.js
36 lines (34 loc) · 1.07 KB
/
vite.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import fs from 'fs/promises'
import { flowPlugin, esbuildFlowPlugin } from '@bunchtogether/vite-plugin-flow'
import { defineConfig } from 'vitest/config'
// Based on https://github.com/vitejs/vite/discussions/3448#discussioncomment-749919
// and https://github.com/bunchtogether/vite-plugin-flow
export default defineConfig({
esbuild: {
loader: 'jsx',
include: /src\/.*\.jsx?$/,
// loader: "tsx",
// include: /src\/.*\.[tj]sx?$/,
exclude: [],
},
optimizeDeps: {
esbuildOptions: {
plugins: [
esbuildFlowPlugin(),
{
name: 'load-js-files-as-jsx',
setup(build) {
build.onLoad({ filter: /src\/.*\.js$/ }, async (args) => ({
loader: 'jsx',
contents: await fs.readFile(args.path, 'utf8'),
}))
},
},
],
},
},
plugins: [flowPlugin()],
test: {
environment: 'jsdom',
},
})