mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 20:36:07 +01:00 
			
		
		
		
	- moved gitgraph.js to web_src and made it importable and es6-compatible - created new webpack chunk for gitgraph - enabled CSS loader in webpack - enabled async/await syntax via regenerator-runtime - added script to ensure webpack chunks are loaded correctly - disable terser's comment extraction to prevent .LICENCE files gitgraph.js has many issues: 1. it is incompatible with ES6 because of strict-mode violations 1. it does not export anything 1. it's css has weird styles like for `body` 1. it is not available on npm I fixed points 1-3 in our version so it's now loadable in webpack. We should eventually consider alternatives.
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const path = require('path');
 | 
						|
const TerserPlugin = require('terser-webpack-plugin');
 | 
						|
 | 
						|
module.exports = {
 | 
						|
  mode: 'production',
 | 
						|
  entry: {
 | 
						|
    index: ['./web_src/js/index']
 | 
						|
  },
 | 
						|
  devtool: 'source-map',
 | 
						|
  output: {
 | 
						|
    path: path.resolve(__dirname, 'public/js'),
 | 
						|
    filename: 'index.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: 'entry',
 | 
						|
                  corejs: 3,
 | 
						|
                }
 | 
						|
              ]
 | 
						|
            ],
 | 
						|
            plugins: [
 | 
						|
              [
 | 
						|
                '@babel/plugin-transform-runtime',
 | 
						|
                {
 | 
						|
                  regenerator: true,
 | 
						|
                }
 | 
						|
              ]
 | 
						|
            ],
 | 
						|
          }
 | 
						|
        }
 | 
						|
      },
 | 
						|
      {
 | 
						|
        test: /\.css$/i,
 | 
						|
        use: ['style-loader', 'css-loader'],
 | 
						|
      },
 | 
						|
    ]
 | 
						|
  }
 | 
						|
};
 |