text: const CopyWebpackPlugin = require('copy-webpack-plugin')
  const HtmlWebpackPlugin = require('html-webpack-plugin')
  const path = require('path')
  
  module.exports = {
      entry: path.resolve(__dirname, '../src/index.js'),
      output:
      {
          filename: 'bundle.[hash].js',
          path: path.resolve(__dirname, '../dist')
      },
      devtool: 'source-map',
      plugins:
      [
          new CopyWebpackPlugin([ { from: path.resolve(__dirname, '../static') } ]),
          new HtmlWebpackPlugin({
              template: path.resolve(__dirname, '../src/index.html'),
              minify: true
          })
  
          
      ],
      module:
      {
          
          rules:
          [
              // HTML
              {
                  test: /\.(html)$/,
                  use: ['html-loader']
              },
  
              // JS
              {
                  test: /\.js$/,
                  exclude: /node_modules/,
                  use:
                  [
                      'babel-loader'
                  ]
              },
  
              // CSS
              {
                  test: /\.css$/,
                  use:
                  [
                      'style-loader',
                      'css-loader'
                  ]
              },
  
              // Images
              {
                  test: /\.(jpg|png|gif|svg)$/,
                  use:
                  [
                      {
                          loader: 'file-loader',
                          options:
                          {
                              outputPath: 'assets/images/'
                          }
                      }
                  ]
              },
  
              // Models
              {
                  test: /\.(glb|gltf|fbx|obj)$/,
                  use:
                  [
                      {
                          loader: 'file-loader',
                          options:
                          {
                              outputPath: 'assets/models/'
                          }
                      }
                  ]
              },
  
              // MP3
              {
                  test: /\.(mp3)$/,
                  use:
                  [
                      {
                          loader: 'file-loader',
                          options:
                          {
                              outputPath: 'assets/audios/'
                          }
                      }
                  ]
              },
  
              // Shaders
              {
                  test: /\.(glsl|vs|fs|vert|frag)$/,
                  exclude: /node_modules/,
                  use: [
                      'raw-loader',
                      'glslify-loader'
                  ]
              }
          ]
      }
  }
  