text: const path = require('path');
  const webpack = require('webpack');
  
  module.exports = {
      entry: ['./ts/index.tsx'],
      output: {
          path: path.join(__dirname, '/public'),
          filename: 'bundle.js',
          chunkFilename: 'bundle-[name].js',
          publicPath: '/',
      },
      devtool: 'source-map',
      resolve: {
          modules: [
              path.join(__dirname, '/ts'),
              'node_modules',
          ],
          extensions: ['.ts', '.tsx', '.js', '.jsx', '.json', '.md'],
          alias: {
              ts: path.join(__dirname, '/ts'),
              less: path.join(__dirname, '/less'),
              md: path.join(__dirname, '/md'),
          },
      },
      module: {
          rules: [
              {
                  test: /\.js$/,
                  loader: 'source-map-loader',
              },
              {
                  test: /\.tsx?$/,
                  loader: 'awesome-typescript-loader',
              },
              {
                  test: /\.md$/,
                  use: 'raw-loader',
              },
              {
                  test: /\.less$/,
                  loader: 'style-loader!css-loader!less-loader',
                  exclude: /node_modules/,
              },
              {
                  test: /\.css$/,
                  loaders: ['style-loader', 'css-loader'],
              },
              {
                  test: /\.json$/,
                  loader: 'json-loader',
              },
          ],
      },
      devServer: {
          port: 3572,
          historyApiFallback: {
              // Fixes issue where having dots in URL path that aren't part of fileNames causes webpack-dev-server
              // to fail. Doc versions have dots in them, therefore we special case these urls to also load index.html.
              // Source: https://github.com/cvut/fittable/issues/171
              rewrites: [
                  {
                      from: /^\/docs\/.*$/,
                      to: function() {
                          return 'index.html';
                      }
                  }
              ]
          },
          disableHostCheck: true,
      },
      plugins: process.env.NODE_ENV === 'production' ? [
          // Since we do not use moment's locale feature, we exclude them from the bundle.
          // This reduces the bundle size by 0.4MB.
          new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
          new webpack.DefinePlugin({
              'process.env': {
                  'NODE_ENV': JSON.stringify(process.env.NODE_ENV)
              }
          }),
          new webpack.optimize.UglifyJsPlugin({
              mangle: {
                  except: ['BigNumber']
              }
          })
      ] : [],
  };
  