import path from 'path'; import TerserPlugin from 'terser-webpack-plugin'; import { defineConfig } from 'umi'; import { appName } from './src/conf.json'; import routes from './src/routes'; const ESLintPlugin = require('eslint-webpack-plugin'); const RAGFLOW_BASE = process.env.RAGFLOW_BASE || '/'; export default defineConfig({ title: appName, outputPath: 'dist', alias: { '@parent': path.resolve(__dirname, '../') }, npmClient: 'pnpm', mfsu: false, base: RAGFLOW_BASE, routes, publicPath: RAGFLOW_BASE, esbuildMinifyIIFE: true, hash: true, favicons: ['/logo.svg'], headScripts: [{ src: '/iconfont.js', defer: true }], clickToComponent: {}, history: { type: 'browser', }, plugins: [ '@react-dev-inspector/umi4-plugin', ], jsMinifier: 'none', // Fixed the issue that the page displayed an error after packaging lexical with terser lessLoader: { modifyVars: { hack: `true; @import "~@/less/index.less";`, }, }, // devtool: 'source-map', // Speed up dev startup by using cheaper source maps devtool: process.env.NODE_ENV === 'development' ? 'eval-cheap-module-source-map' : 'source-map', copy: [ { from: 'src/conf.json', to: 'dist/conf.json' }, { from: 'node_modules/monaco-editor/min/vs/', to: 'dist/vs/' }, ], proxy: [ // { // context: ['/api', '/v1'], // target: 'http://154.9.253.114:9380', // target: 'http://150.158.121.95', // changeOrigin: true, // ws: true, // logger: console, // pathRewrite: { '^/v1': '/v1' }, // }, ], chainWebpack(memo, args) { memo.module.rule('markdown').test(/\.md$/).type('asset/source'); memo.optimization.minimizer('terser').use(TerserPlugin); // Fixed the issue that the page displayed an error after packaging lexical with terser // memo.plugin('eslint').use(ESLintPlugin, [ // { // extensions: ['js', 'ts', 'tsx'], // failOnError: true, // exclude: ['**/node_modules/**', '**/mfsu**', '**/mfsu-virtual-entry**'], // files: ['src/**/*.{js,ts,tsx}'], // }, // ]); return memo; }, });