text: /*---------------------------------------------------------------------------------------------
   *  Copyright (c) Microsoft Corporation. All rights reserved.
   *  Licensed under the MIT License. See License.txt in the project root for license information.
   *--------------------------------------------------------------------------------------------*/
  
  //@ts-check
  'use strict';
  
  //@ts-check
  /** @typedef {import('webpack').Configuration} WebpackConfig **/
  
  const path = require('path');
  const webpack = require('webpack');
  
  module.exports = /** @type WebpackConfig */ {
    context: path.dirname(__dirname),
    mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production')
    target: 'webworker', // extensions run in a webworker context
    entry: {
      extension: './src/web/extension.ts',
    },
    resolve: {
      mainFields: ['browser', 'module', 'main'],
      extensions: ['.ts', '.js'], // support ts-files and js-files
      alias: {},
      fallback: {
        assert: require.resolve('assert'),
        path: false,
        fs: false,
      },
    },
    module: {
      rules: [
        {
          test: /\.ts$/,
          exclude: /node_modules/,
          use: [
            {
              loader: 'ts-loader',
            },
          ],
        },
      ],
    },
    plugins: [
      new webpack.ProvidePlugin({
        process: 'process/browser',
      }),
    ],
    externals: {
      vscode: 'commonjs vscode', // ignored because it doesn't exist
    },
    performance: {
      hints: false,
    },
    output: {
      filename: '[name].js',
      path: path.join(__dirname, '../dist/web'),
      libraryTarget: 'commonjs',
    },
    devtool: 'nosources-source-map',
  };
  