mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00: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';
 | 
						|
    }
 | 
						|
  },
 | 
						|
};
 |