text: const path = require('path');
  
  module.exports = {
    entry: './src/client/index.jsx',
    output: {
      path: path.resolve(__dirname, 'build'),
      filename: 'app.js'
    },
    module: {
      rules: [
        {
          test: /\.jsx?$/,
          include: [
            path.resolve(__dirname, './src')
          ],
          // these are matching conditions, each accepting a regular expression or string
          // test and include have the same behavior, both must be matched
          // exclude must not be matched (takes preferrence over test and include)
          // Best practices:
          // - Use RegExp only in test and for filename matching
          // - Use arrays of absolute paths in include and exclude
          // - Try to avoid exclude and prefer include
  
          // issuer: { test, include, exclude },
          // conditions for the issuer (the origin of the import)
  
          // enforce: "pre",
          // enforce: "post",
          // flags to apply these rules, even if they are overridden (advanced option)
  
          loader: 'babel-loader',
          // the loader which should be applied, it'll be resolved relative to the context
          // -loader suffix is no longer optional in webpack2 for clarity reasons
          // see webpack 1 upgrade guide
  
          options: {
            presets: ['es2015'],
            // plugins: ['babel/plugin-transform-class-properties']
          },
          // options for the loader
        }
      ]
    },
    resolve: {
      // options for resolving module requests
      // (does not apply to resolving to loaders)
  
      modules: [
        'node_modules',
        path.resolve(__dirname, './src')
      ],
      // directories where to look for modules
  
      extensions: ['.js', '.json', '.jsx', '.css'],
      // extensions that are used
    }
  };
  