// NOTE: To use this example standalone (e.g. outside of repo) // delete the local development overrides at the bottom of this file // avoid destructuring for older Node version support const resolve = require('path').resolve; const webpack = require('webpack'); const BABEL_CONFIG = { presets: ['@babel/env', '@babel/react'], plugins: ['@babel/proposal-class-properties'] }; const config = { mode: 'development', entry: { app: resolve('./src/app.js') }, output: { library: 'App' }, module: { rules: [ { // Compile ES2015 using babel test: /\.js$/, include: [resolve('.')], exclude: [/node_modules/], use: [ { loader: 'babel-loader', options: BABEL_CONFIG } ] } ] }, // Optional: Enables reading mapbox token from environment variable plugins: [new webpack.EnvironmentPlugin(['MapboxAccessToken'])] }; // Enables bundling against src in this repo rather than the installed version module.exports = env => env && env.local ? require('../webpack.config.local')(config)(env) : config;