const webpack = require('webpack')
const { execSync } = require('child_process')
const path = require('path')

let hash = execSync('git rev-parse --short HEAD').toString().trim()
let lang = process.env.ESP_LANG || 'en'

let plugins = []
let devtool = 'source-map'

if (process.env.ESP_PROD) {
  // ignore demo
  plugins.push(new webpack.IgnorePlugin(/\.\/demo(?:\.js)?$/))

  // no source maps
  devtool = ''
}

plugins.push(new webpack.optimize.UglifyJsPlugin({
  sourceMap: devtool === 'source-map'
}))

// replace "locale-data" with path to locale data
let locale = process.env.ESP_LANG || 'en'
plugins.push(new webpack.NormalModuleReplacementPlugin(
  /^locale-data$/,
  path.resolve(`lang/${locale}.php`)
))

module.exports = {
  entry: './js',
  output: {
    path: path.resolve(__dirname, 'out', 'js'),
    filename: `app.${hash}-${lang}.js`
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: [
          path.resolve(__dirname, 'node_modules')
        ],
        loader: 'babel-loader'
      },
      {
        test: /lang\/.+?\.php$/,
        loader: './lang/_js-lang-loader.js'
      }
    ]
  },
  devtool,
  plugins
}

const webpack = require('webpack')
const { execSync } = require('child_process')
const path = require('path')

let hash = execSync('git rev-parse --short HEAD').toString().trim()
let lang = process.env.ESP_LANG || 'en'

let plugins = []
let devtool = 'source-map'

if (process.env.ESP_PROD) {
  // ignore demo
  plugins.push(new webpack.IgnorePlugin(/(term|\.)\/demo(?:\.js)?$/))

  // no source maps
  devtool = ''
}

plugins.push(new webpack.optimize.UglifyJsPlugin({
  sourceMap: devtool === 'source-map'
}))

// replace "locale-data" with path to locale data
let locale = process.env.ESP_LANG || 'en'
plugins.push(new webpack.NormalModuleReplacementPlugin(
  /^locale-data$/,
  path.resolve(`lang/${locale}.php`)
))

module.exports = {
  entry: './js',
  output: {
    path: path.resolve(__dirname, 'out', 'js'),
    filename: `app.${hash}-${lang}.js`
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: [
          path.resolve(__dirname, 'node_modules')
        ],
        loader: 'babel-loader'
      },
      {
        test: /lang\/.+?\.php$/,
        loader: './lang/_js-lang-loader.js'
      }
    ]
  },
  devtool,
  plugins
}

Fix demo being loaded regardless of ESP_PROD
Fix demo being loaded regardless of ESP_PROD
