mirror of
https://github.com/a-nyx/maputnik-with-pmtiles.git
synced 2024-12-27 09:25:24 +01:00
94 lines
2.1 KiB
JavaScript
94 lines
2.1 KiB
JavaScript
"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'
|
||
}),
|
||
]
|
||
};
|