blob: 6ce656edc79213c207c8bbdc5f7934d3c4b1193e [file] [log] [blame]
/*
* Copyright (C) 2022 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.
*/
const path = require('path');
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
devtool: 'inline-source-map',
resolve: {
extensions: ['.ts', '.js', '.css'],
modules: [
'node_modules',
'src',
'deps_build',
__dirname,
path.resolve(__dirname, '../../..'),
],
},
resolveLoader: {
modules: ['node_modules', path.resolve(__dirname, 'loaders')],
},
module: {
rules: [
{
test: /^((?!test).)*\.ts$/,
include: [path.resolve('src')],
loader: '@ephesoft/webpack.istanbul.loader', // Must be first loader
options: {esModules: true},
enforce: 'post',
},
{
test: /\.ts$/,
use: ['ts-loader', 'angular2-template-loader'],
},
{
test: /\.html$/,
use: ['html-loader'],
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
{
test: /\.s[ac]ss$/i,
use: ['style-loader', 'css-loader', 'sass-loader'],
},
],
},
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
keep_fnames: true,
},
}),
],
},
};