<commit_before>const path = require('path');
const webpack = require('webpack');
const StatsPlugin = require('stats-webpack-plugin');
const StyleLintPlugin = require('stylelint-webpack-plugin');
const RobotstxtPlugin = require('robotstxt-webpack-plugin').default;

const robotstxtOptions = {
  policy: [{
    userAgent: '*',
    disallow: '/'
  }]
};

const config = {
  context: path.join(__dirname, '..'),

  devtool: 'cheap-module-eval-source-map',

  entry: [
    'react-hot-loader/patch',
    './index.jsx',
  ],

  output: {
    path: path.join(__dirname, '..', 'dist'),
    publicPath: '/',
    filename: 'bundle.js',
  },

  module: {
    rules: [
      {
        test: /\.(jpe?g|png|gif|svg|tiff)$/i,
        loader: 'file-loader?name=public/icons/[name].[ext]',
      },
      {
        test: /\.jsx{0,1}$/,
        exclude: /(node_modules)/,
        loader: require.resolve('babel-loader'),
        options: {
          cacheDirectory: true,
        },
      },
      {
        test: /\.s?css$/,
        loaders: [
          'style-loader',
          'css-loader',
          'postcss-loader',
          'sass-loader',
        ],
      },
      {
        test: /\.(eot|svg|ttf|woff|woff2)$/,
        use: ['file-loader'],
      },
      {
        test: /locales/,
        use: ['i18next-resource-store-loader'],
      },
    ],
  },
  resolve: {
    extensions: ['.js', '.jsx', '.es6'],
    modules: [path.join(__dirname, '..'), 'node_modules'],
    alias: {
      root: path.join(__dirname, '..'),
      presentationals: path.join(__dirname, '..', 'app', 'presentationals'),<commit_msg>Fixed webpack config issue where svg images wouldn't load correctly because they'd get overwritten by the svg font loader.<commit_after>const path = require('path');
const webpack = require('webpack');
const StatsPlugin = require('stats-webpack-plugin');
const StyleLintPlugin = require('stylelint-webpack-plugin');
const RobotstxtPlugin = require('robotstxt-webpack-plugin').default;

const robotstxtOptions = {
  policy: [{
    userAgent: '*',
    disallow: '/'
  }]
};

const config = {
  context: path.join(__dirname, '..'),

  devtool: 'cheap-module-eval-source-map',

  entry: [
    'react-hot-loader/patch',
    './index.jsx',
  ],

  output: {
    path: path.join(__dirname, '..', 'dist'),
    publicPath: '/',
    filename: 'bundle.js',
  },

  module: {
    rules: [
      {
        test: /\.(jpe?g|png|gif|svg|tiff)$/i,
        loader: 'file-loader?name=public/icons/[name].[ext]',
      },
      {
        test: /\.jsx?$/,
        exclude: /(node_modules)/,
        loader: require.resolve('babel-loader'),
        options: {
          cacheDirectory: true,
        },
      },
      {
        test: /\.s?css$/,
        loaders: [
          'style-loader',
          'css-loader',
          'postcss-loader',
          'sass-loader',
        ],
      },
      {
        test: /\.(eot|svg|ttf|woff|woff2)$/,
        exclude: [/images/], // Prevent font loader from overwriting svg files in the images folder.
        use: ['file-loader'],
      },
      {
        test: /locales/,
        use: ['i18next-resource-store-loader'],
      },
    ],
  },
  resolve: {
    extensions: ['.js', '.jsx', '.es6'],
    modules: [path.join(__dirname, '..'), 'node_modules'],
    alias: {
      root: path.join(__dirname, '..'),
      presentationals: path.join(__dirname, '..', 'app', 'presentationals'),
{'fraction_non_alphanumeric': 0.19294117647058823, 'fraction_numerical': 0.0029411764705882353, 'mean_word_length': 2.21152030217186, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1325051', 'n_tokens_mistral': 1149, 'n_tokens_neox': 1113, 'n_words': 192}