57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
import react from '@vitejs/plugin-react';
|
|
import path from 'node:path';
|
|
import { defineConfig } from 'vite';
|
|
import eslint from 'vite-plugin-eslint';
|
|
|
|
export default defineConfig(() => {
|
|
return {
|
|
// https://github.com/vitejs/vite/issues/1973#issuecomment-787571499
|
|
define: {
|
|
'process.env': {},
|
|
},
|
|
build: {
|
|
outDir: 'build',
|
|
},
|
|
plugins: [
|
|
react({
|
|
jsxImportSource: '@emotion/react',
|
|
babel: {
|
|
plugins: ['@emotion/babel-plugin'],
|
|
},
|
|
}),
|
|
process.env.APP_ENV !== 'test' && {
|
|
...eslint({
|
|
include: ['src/**/*.js', 'src/**/*.jsx'],
|
|
}),
|
|
apply: 'build',
|
|
},
|
|
{
|
|
...eslint({
|
|
include: ['src/**/*.js', 'src/**/*.jsx'],
|
|
failOnWarning: false,
|
|
failOnError: false,
|
|
}),
|
|
apply: 'serve',
|
|
enforce: 'post',
|
|
},
|
|
].filter(Boolean),
|
|
resolve: {
|
|
alias: {
|
|
components: path.resolve(__dirname, './src/components'),
|
|
config: path.resolve(__dirname, './src/config'),
|
|
contexts: path.resolve(__dirname, './src/contexts'),
|
|
helpers: path.resolve(__dirname, './src/helpers'),
|
|
hooks: path.resolve(__dirname, './src/hooks'),
|
|
locales: path.resolve(__dirname, './src/locales'),
|
|
pages: path.resolve(__dirname, './src/pages'),
|
|
propTypes: path.resolve(__dirname, './src/propTypes'),
|
|
styles: path.resolve(__dirname, './src/styles'),
|
|
},
|
|
},
|
|
server: {
|
|
open: true,
|
|
port: process.env.PORT || 3001,
|
|
},
|
|
};
|
|
});
|