Files
Rocketplan/config/webpack.dev.js
T
2022-11-26 01:23:44 -05:00

77 lines
2.1 KiB
JavaScript

const webpack = require('webpack');
const { merge } = require('webpack-merge');
const common = require('./webpack.base.js');
const paths = require('./paths');
const path = require('path');
module.exports = merge(common, {
// Set the mode to development or production
mode: 'development',
// Control how source maps are generated
devtool: 'inline-source-map',
output: {
path: path.normalize(paths.build),
publicPath: '/',
filename: 'js/[name].[contenthash].bundle.js',
},
// Spin up a server for quick development
devServer: {
historyApiFallback: true,
contentBase: path.normalize(paths.build),
index: '/',
open: true,
compress: true,
hot: true,
port: 3000,
host: 'test.rocketplantech.com',
https: true,
noInfo: true, //This turns off information regarding the bundle. Set to false if you need to view the messages
},
module: {
rules: [
// Styles: Inject CSS into the head with source maps
{
test: /\.(scss|css)$/i,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
sourceMap: true,
importLoaders: 1,
// modules: true,
modules: {
localIdentName: '[name]__[local]___[hash:base64:5]',
},
},
},
{ loader: 'postcss-loader', options: { sourceMap: true } },
{ loader: 'sass-loader', options: { sourceMap: true } },
],
include: /\.module\.css$/i,
},
{
test: /\.(scss|css)$/i,
use: [
'style-loader',
// 'css-loader',
{
loader: 'css-loader',
options: { sourceMap: true, importLoaders: 1 },
},
{ loader: 'postcss-loader', options: { sourceMap: true } },
{ loader: 'sass-loader', options: { sourceMap: true } },
],
exclude: /\.module\.css$/i,
},
],
},
plugins: [
// Only update what has changed on hot reload
new webpack.HotModuleReplacementPlugin(),
],
});