text: /**
   * Copyright 2019 Google Inc. All Rights Reserved.
   *
   * 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 CopyWebpackPlugin = require('copy-webpack-plugin')
  const CleanWebpackPlugin = require('clean-webpack-plugin');
  const WebpackNotifierPlugin = require('webpack-notifier');
  
  module.exports = {
    entry: './docs/src/main.ts',
  
    output: {
      path: path.join(__dirname, 'docs/dist'),
      filename: '[name].bundle.js',
      chunkFilename: '[name].[contenthash].chunk.js'
    },
  
    resolve: {
      extensions: ['.js', '.ts'],
    },
  
    module: {
      rules: [
        {
          test: /\.ts$/,
          include: path.join(__dirname),
          loader: 'ts-loader',
          options: {configFile: 'docs/tsconfig.json'}
        },
        {
          test: /\.css$/,
          use: ['style-loader', 'css-loader'],
        },
      ]
    },
    devtool: 'inline-source-map',
  
    plugins: [
      new WebpackNotifierPlugin({excludeWarnings: true}),
      new CleanWebpackPlugin(['./docs/dist']),
      new CopyWebpackPlugin([
        {from: './docs/static/index.html'},
      ]),
    ],
  
    devServer: {
      contentBase: './docs/dist',
      port: 8080,
    },
  };
  