xref: /aosp_15_r20/development/tools/winscope/webpack.config.dev.js (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker/*
2*90c8c64dSAndroid Build Coastguard Worker * Copyright (C) 2022 The Android Open Source Project
3*90c8c64dSAndroid Build Coastguard Worker *
4*90c8c64dSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*90c8c64dSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*90c8c64dSAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*90c8c64dSAndroid Build Coastguard Worker *
8*90c8c64dSAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*90c8c64dSAndroid Build Coastguard Worker *
10*90c8c64dSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*90c8c64dSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*90c8c64dSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*90c8c64dSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*90c8c64dSAndroid Build Coastguard Worker * limitations under the License.
15*90c8c64dSAndroid Build Coastguard Worker */
16*90c8c64dSAndroid Build Coastguard Workerconst {merge} = require('webpack-merge');
17*90c8c64dSAndroid Build Coastguard Workerconst configCommon = require('./webpack.config.common');
18*90c8c64dSAndroid Build Coastguard Workerconst HtmlWebpackPlugin = require('html-webpack-plugin');
19*90c8c64dSAndroid Build Coastguard Workerconst CopyPlugin = require('copy-webpack-plugin');
20*90c8c64dSAndroid Build Coastguard Worker
21*90c8c64dSAndroid Build Coastguard Workerconst configDev = {
22*90c8c64dSAndroid Build Coastguard Worker  mode: 'development',
23*90c8c64dSAndroid Build Coastguard Worker  entry: {
24*90c8c64dSAndroid Build Coastguard Worker    polyfills: './src/polyfills.ts',
25*90c8c64dSAndroid Build Coastguard Worker    styles: ['./src/material-theme.scss', './src/styles.css'],
26*90c8c64dSAndroid Build Coastguard Worker    app: './src/main_dev.ts',
27*90c8c64dSAndroid Build Coastguard Worker  },
28*90c8c64dSAndroid Build Coastguard Worker  devtool: 'source-map',
29*90c8c64dSAndroid Build Coastguard Worker
30*90c8c64dSAndroid Build Coastguard Worker  externals: {
31*90c8c64dSAndroid Build Coastguard Worker    fs: 'fs',
32*90c8c64dSAndroid Build Coastguard Worker    path: 'path',
33*90c8c64dSAndroid Build Coastguard Worker    crypto: 'crypto',
34*90c8c64dSAndroid Build Coastguard Worker  },
35*90c8c64dSAndroid Build Coastguard Worker
36*90c8c64dSAndroid Build Coastguard Worker  node: {
37*90c8c64dSAndroid Build Coastguard Worker    global: false,
38*90c8c64dSAndroid Build Coastguard Worker    __filename: false,
39*90c8c64dSAndroid Build Coastguard Worker    __dirname: false,
40*90c8c64dSAndroid Build Coastguard Worker  },
41*90c8c64dSAndroid Build Coastguard Worker
42*90c8c64dSAndroid Build Coastguard Worker  plugins: [
43*90c8c64dSAndroid Build Coastguard Worker    new HtmlWebpackPlugin({
44*90c8c64dSAndroid Build Coastguard Worker      template: 'src/index.html',
45*90c8c64dSAndroid Build Coastguard Worker      inject: 'body',
46*90c8c64dSAndroid Build Coastguard Worker      inlineSource: '.(css|js)$',
47*90c8c64dSAndroid Build Coastguard Worker    }),
48*90c8c64dSAndroid Build Coastguard Worker    new CopyPlugin({
49*90c8c64dSAndroid Build Coastguard Worker      patterns: [
50*90c8c64dSAndroid Build Coastguard Worker        'deps_build/trace_processor/to_be_served/trace_processor.wasm',
51*90c8c64dSAndroid Build Coastguard Worker        'deps_build/trace_processor/to_be_served/engine_bundle.js',
52*90c8c64dSAndroid Build Coastguard Worker        {from: 'src/adb/winscope_proxy.py', to: 'winscope_proxy.py'},
53*90c8c64dSAndroid Build Coastguard Worker        {from: 'src/logo_light_mode.svg', to: 'logo_light_mode.svg'},
54*90c8c64dSAndroid Build Coastguard Worker        {from: 'src/logo_dark_mode.svg', to: 'logo_dark_mode.svg'},
55*90c8c64dSAndroid Build Coastguard Worker        {
56*90c8c64dSAndroid Build Coastguard Worker          from: 'src/viewers/components/rects/cube_partial_shade.svg',
57*90c8c64dSAndroid Build Coastguard Worker          to: 'cube_partial_shade.svg',
58*90c8c64dSAndroid Build Coastguard Worker        },
59*90c8c64dSAndroid Build Coastguard Worker        {
60*90c8c64dSAndroid Build Coastguard Worker          from: 'src/viewers/components/rects/cube_full_shade.svg',
61*90c8c64dSAndroid Build Coastguard Worker          to: 'cube_full_shade.svg',
62*90c8c64dSAndroid Build Coastguard Worker        },
63*90c8c64dSAndroid Build Coastguard Worker        {
64*90c8c64dSAndroid Build Coastguard Worker          from: 'src/app/components/trackpad_right_click.svg',
65*90c8c64dSAndroid Build Coastguard Worker          to: 'trackpad_right_click.svg',
66*90c8c64dSAndroid Build Coastguard Worker        },
67*90c8c64dSAndroid Build Coastguard Worker        {
68*90c8c64dSAndroid Build Coastguard Worker          from: 'src/app/components/trackpad_vertical_scroll.svg',
69*90c8c64dSAndroid Build Coastguard Worker          to: 'trackpad_vertical_scroll.svg',
70*90c8c64dSAndroid Build Coastguard Worker        },
71*90c8c64dSAndroid Build Coastguard Worker        {
72*90c8c64dSAndroid Build Coastguard Worker          from: 'src/app/components/trackpad_horizontal_scroll.svg',
73*90c8c64dSAndroid Build Coastguard Worker          to: 'trackpad_horizontal_scroll.svg',
74*90c8c64dSAndroid Build Coastguard Worker        },
75*90c8c64dSAndroid Build Coastguard Worker      ],
76*90c8c64dSAndroid Build Coastguard Worker    }),
77*90c8c64dSAndroid Build Coastguard Worker  ],
78*90c8c64dSAndroid Build Coastguard Worker};
79*90c8c64dSAndroid Build Coastguard Worker
80*90c8c64dSAndroid Build Coastguard Workermodule.exports = merge(configCommon, configDev);
81