-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
38 lines (37 loc) · 969 Bytes
/
vite.config.ts
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
37
38
import { resolve } from 'path'
import { defineConfig } from 'vite'
import reactRefresh from '@vitejs/plugin-react-refresh'
import tsConfigpaths from 'vite-tsconfig-paths'
import dts from 'vite-plugin-dts'
import { EsLinter, linterPlugin } from 'vite-plugin-linter'
// https://vitejs.dev/config/
export default defineConfig(configEnv => ({
plugins: [
reactRefresh(),
tsConfigpaths(),
linterPlugin({
include: ['./{lib,src}/**/*.{ts,tsx}'],
linters: [new EsLinter({ configEnv })],
}),
dts({
include: ['lib/ff.tsx'],
beforeWriteFile: (filePath, content) => ({
filePath: filePath.replace('/lib', ''),
content,
}),
}),
],
esbuild: {
jsxInject: 'import * as React from "react"',
},
build: {
lib: {
entry: resolve('lib', 'ff.tsx'),
name: 'ReactFeatureFlag',
fileName: (format) => `ff.${format}.js`,
},
rollupOptions: {
external: ['react'],
},
},
}))