| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You 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 path = require('path'); |
| |
| /**@type {import('webpack').Configuration}*/ |
| const config = { |
| target: 'node', // vscode extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/ |
| entry: './src/extension.ts', // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/ |
| output: { |
| // the bundle is stored in the 'dist' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/ |
| path: path.resolve(__dirname, 'dist'), |
| filename: 'extension.js', |
| libraryTarget: 'commonjs2', |
| devtoolModuleFilenameTemplate: '../[resource-path]', |
| }, |
| node: { |
| __dirname: false, |
| }, |
| devtool: 'source-map', |
| externals: { |
| vscode: 'commonjs vscode', // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/ |
| }, |
| resolve: { |
| // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader |
| extensions: ['.ts', '.js'], |
| }, |
| module: { |
| rules: [ |
| { |
| test: /\.ts$/, |
| exclude: /node_modules/, |
| use: [ |
| { |
| loader: 'ts-loader', |
| }, |
| ], |
| }, |
| ], |
| }, |
| }; |
| module.exports = config; |