"use strict"; var webpack = require('webpack'); var path = require('path'); var loaders = require('./webpack.loaders'); var HtmlWebpackPlugin = require('html-webpack-plugin'); const HOST = process.env.HOST || "127.0.0.1"; const PORT = process.env.PORT || "8888"; // global css loaders.push({ test: /[\/\\](node_modules|global)[\/\\].*\.css$/, loaders: [ 'style?sourceMap', 'css' ] }); // local scss modules loaders.push({ test: /[\/\\]src[\/\\].*\.scss/, loaders: [ 'style?sourceMap', 'css?modules&importLoaders=1&localIdentName=[path]___[name]__[local]___[hash:base64:5]', 'sass' ] }); // Mapbox GL loaders.push({ test: /\.json$/, loader: 'json-loader' }); loaders.push({ test: /\.js$/, include: path.resolve('node_modules/mapbox-gl-shaders/index.js'), loader: 'transform/cacheable?brfs' }); // local css modules loaders.push({ test: /[\/\\]src[\/\\].*\.css/, loaders: [ 'style?sourceMap', 'css?modules&importLoaders=1&localIdentName=[path]___[name]__[local]___[hash:base64:5]' ] }); module.exports = { entry: [ `webpack-dev-server/client?http://${HOST}:${PORT}`, `webpack/hot/only-dev-server`, `./src/index.jsx` // Your appʼs entry point ], devtool: process.env.WEBPACK_DEVTOOL || 'cheap-module-source-map', output: { path: path.join(__dirname, 'public'), filename: 'bundle.js' }, resolve: { alias: { 'webworkify': 'webworkify-webpack', }, extensions: ['', '.js', '.jsx'] }, module: { loaders, postLoaders: [{ include: /node_modules\/mapbox-gl-shaders/, loader: 'transform', query: 'brfs' }] }, devServer: { contentBase: "./public", // do not print bundle build stats noInfo: true, // enable HMR hot: true, // embed the webpack-dev-server runtime into the bundle inline: true, // serve index.html in place of 404 responses to allow HTML5 history historyApiFallback: true, port: PORT, host: HOST }, plugins: [ new webpack.NoErrorsPlugin(), new webpack.HotModuleReplacementPlugin(), new HtmlWebpackPlugin({ template: './src/template.html' }), ] };