const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');

module.exports = {
  entry: './src/index.js',
  plugins: [new HtmlWebpackPlugin(
  {
      template: 'home.html'
  }
  )],
  output: {
    filename: '[name].bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
     rules: [
        {
          test: /\.css$/,
          use: ['style-loader', 'css-loader'],
        },
        {
          test: /path\.txt/,
          use: ['file-loader'],
        },
        {
          test: /\.(js|jsx)$/,
	  exclude: /node_modules/,
          use: {
	     loader: 'babel-loader'
	  }

        },
     ],
  },
  resolve: {
    extensions: [".js", ".jsx"]
  },

  mode: 'production',
  performance: {
    hints: false,
    maxEntrypointSize: 512000,
    maxAssetSize: 512000
  },
  devServer:{
    compress: false,
    port: 9002,
    static: './dist'
  },
  optimization: {
    runtimeChunk: 'single',
    splitChunks: {
      cacheGroups: {
        vendor1: {
          test: /[\\/]node_modules[\\/](r.*|s.*|t.*|u.*|v.*|w.*|x.*|y.*|z.*)[\\/]/,
          name: 'vendors1',
          chunks: 'all'
        },
        vendor2: {
          test: /[\\/]node_modules[\\/](a.*|b.*|c.*|d.*|e.*|f.*|g.*|h.*|i.*)[\\/]/,
          name: 'vendors2',
          chunks: 'all'
        },
      },
    },
  }
};
