| /* |
| * Copyright 2020, The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| 'use strict'; |
| |
| const webpack = require('webpack'); |
| const { merge } = require('webpack-merge'); |
| const path = require('path'); |
| const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin'); |
| const commonConfig = require('./webpack.config.common'); |
| const environment = require('./env/dev.env'); |
| |
| const webpackConfig = merge(commonConfig, { |
| mode: 'development', |
| devtool: 'cheap-module-eval-source-map', |
| output: { |
| path: path.resolve(__dirname, 'dist'), |
| publicPath: '/', |
| filename: 'js/[name].bundle.js', |
| chunkFilename: 'js/[id].chunk.js' |
| }, |
| optimization: { |
| runtimeChunk: 'single', |
| splitChunks: { |
| chunks: 'all' |
| } |
| }, |
| module: { |
| rules: [ |
| // Enable sourcemaps for Kotlin code, source-map-loader should be configured |
| { |
| test: /\.js$/, |
| include: path.resolve(__dirname, './kotlin_build'), |
| exclude: [ |
| /kotlin\.js$/, // Kotlin runtime doesn't have sourcemaps at the moment |
| ], |
| use: ['source-map-loader'], |
| enforce: 'pre' |
| }, |
| ] |
| }, |
| plugins: [ |
| new webpack.EnvironmentPlugin(environment), |
| new webpack.HotModuleReplacementPlugin(), |
| new FriendlyErrorsPlugin() |
| ], |
| devServer: { |
| compress: true, |
| historyApiFallback: true, |
| hot: true, |
| open: true, |
| overlay: true, |
| port: 8080, |
| stats: { |
| normal: true |
| } |
| } |
| }); |
| |
| module.exports = webpackConfig; |