mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Created a second webpack output file for swagger-ui which is loaded on the /api/swagger route. One notable difference is the absence of the swagger favicon that was previously used which is now the gitea icon. I see no easy way to restore that favicon, so I decided to not keep it.
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const path = require('path');
 | |
| const TerserPlugin = require('terser-webpack-plugin');
 | |
| const { SourceMapDevToolPlugin } = require('webpack');
 | |
| 
 | |
| module.exports = {
 | |
|   mode: 'production',
 | |
|   entry: {
 | |
|     index: ['./web_src/js/index'],
 | |
|     swagger: ['./web_src/js/swagger'],
 | |
|   },
 | |
|   devtool: false,
 | |
|   output: {
 | |
|     path: path.resolve(__dirname, 'public/js'),
 | |
|     filename: '[name].js',
 | |
|     chunkFilename: '[name].js',
 | |
|   },
 | |
|   optimization: {
 | |
|     minimize: true,
 | |
|     minimizer: [new TerserPlugin({
 | |
|       sourceMap: true,
 | |
|       extractComments: false,
 | |
|       terserOptions: {
 | |
|         output: {
 | |
|           comments: false,
 | |
|         },
 | |
|       },
 | |
|     })],
 | |
|   },
 | |
|   module: {
 | |
|     rules: [
 | |
|       {
 | |
|         test: /\.js$/,
 | |
|         exclude: /node_modules/,
 | |
|         use: {
 | |
|           loader: 'babel-loader',
 | |
|           options: {
 | |
|             presets: [
 | |
|               [
 | |
|                 '@babel/preset-env',
 | |
|                 {
 | |
|                   useBuiltIns: 'usage',
 | |
|                   corejs: 3,
 | |
|                 }
 | |
|               ]
 | |
|             ],
 | |
|             plugins: [
 | |
|               [
 | |
|                 '@babel/plugin-transform-runtime',
 | |
|                 {
 | |
|                   regenerator: true,
 | |
|                 }
 | |
|               ]
 | |
|             ],
 | |
|           }
 | |
|         }
 | |
|       },
 | |
|       {
 | |
|         test: /\.css$/i,
 | |
|         use: ['style-loader', 'css-loader'],
 | |
|       },
 | |
|     ]
 | |
|   },
 | |
|   plugins: [
 | |
|     new SourceMapDevToolPlugin({
 | |
|       filename: '[name].js.map',
 | |
|       exclude: [
 | |
|         'swagger.js',
 | |
|       ],
 | |
|     }),
 | |
|   ],
 | |
|   performance: {
 | |
|     assetFilter: (filename) => {
 | |
|       return !filename.endsWith('.map') && filename !== 'swagger.js';
 | |
|     }
 | |
|   },
 | |
| };
 |