mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			82 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| const path = require('path');
 | |
| const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
 | |
| 
 | |
| module.exports = {
 | |
|   target: 'web',
 | |
|   entry: {
 | |
|     app: './public/app/index.ts',
 | |
|   },
 | |
|   output: {
 | |
|     path: path.resolve(__dirname, '../../public/build'),
 | |
|     filename: '[name].[hash].js',
 | |
|     // Keep publicPath relative for host.com/grafana/ deployments
 | |
|     publicPath: 'public/build/',
 | |
|   },
 | |
|   resolve: {
 | |
|     extensions: ['.ts', '.tsx', '.es6', '.js', '.json', '.svg'],
 | |
|     alias: {
 | |
|     },
 | |
|     modules: [
 | |
|       path.resolve('public'),
 | |
|       path.resolve('node_modules')
 | |
|     ],
 | |
|   },
 | |
|   stats: {
 | |
|     children: false,
 | |
|     warningsFilter: /export .* was not found in/
 | |
|   },
 | |
|   node: {
 | |
|     fs: 'empty',
 | |
|   },
 | |
|   module: {
 | |
|     rules: [
 | |
|       {
 | |
|         test: require.resolve('jquery'),
 | |
|         use: [
 | |
|           {
 | |
|             loader: 'expose-loader',
 | |
|             query: 'jQuery'
 | |
|           },
 | |
|           {
 | |
|             loader: 'expose-loader',
 | |
|             query: '$'
 | |
|           }
 | |
|         ]
 | |
|       },
 | |
|       {
 | |
|         test: /\.html$/,
 | |
|         exclude: /(index|error)\-template\.html/,
 | |
|         use: [
 | |
|           { loader: 'ngtemplate-loader?relativeTo=' + (path.resolve(__dirname, '../../public')) + '&prefix=public' },
 | |
|           {
 | |
|             loader: 'html-loader',
 | |
|             options: {
 | |
|               attrs: [],
 | |
|               minimize: true,
 | |
|               removeComments: false,
 | |
|               collapseWhitespace: false
 | |
|             }
 | |
|           }
 | |
|         ]
 | |
|       }
 | |
|     ]
 | |
|   },
 | |
|   // https://webpack.js.org/plugins/split-chunks-plugin/#split-chunks-example-3
 | |
|   optimization: {
 | |
|     splitChunks: {
 | |
|       cacheGroups: {
 | |
|         commons: {
 | |
|           test: /[\\/]node_modules[\\/].*[jt]sx?$/,
 | |
|           name: 'vendor',
 | |
|           chunks: 'all'
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   },
 | |
|   plugins: [
 | |
|     new ForkTsCheckerWebpackPlugin({
 | |
|       checkSyntacticErrors: true,
 | |
|     }),
 | |
|   ]
 | |
| };
 |