Configures webpack to bundle the extension.

This commit is contained in:
Henning Dieterichs
2019-08-08 01:29:13 +02:00
parent 10f95ea9c9
commit 58f9c8d37c
3 changed files with 31 additions and 8 deletions

4
.vscode/launch.json vendored
View File

@@ -10,7 +10,7 @@
"--extensionDevelopmentPath=${workspaceFolder}/extension",
"${workspaceFolder}\\example-project"
],
"outFiles": ["${workspaceFolder}/extension/out/**/*.js"],
"outFiles": ["${workspaceFolder}/extension/dist/**/*.js"],
"preLaunchTask": "npm: dev - extension"
},
{
@@ -25,7 +25,7 @@
"env": {
"USE_DEV_UI": "true"
},
"outFiles": ["${workspaceFolder}/extension/out/**/*.js"],
"outFiles": ["${workspaceFolder}/extension/dist/**/*.js"],
"preLaunchTask": "npm: dev - extension"
}
]

View File

@@ -2,7 +2,7 @@
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"outDir": "out",
"outDir": "dist",
"lib": ["es6"],
"sourceMap": true,
"rootDir": "src",

View File

@@ -1,14 +1,37 @@
import * as webpack from "webpack";
import path = require("path");
import HtmlWebpackPlugin = require("html-webpack-plugin");
import MonacoWebpackPlugin = require("monaco-editor-webpack-plugin");
import ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin");
import { CleanWebpackPlugin } from "clean-webpack-plugin";
const r = (file: string) => path.resolve(__dirname, file);
module.exports = {
target: "node",
entry: r("./src/extension"),
output: {
path: r("./dist"),
filename: "extension.js",
libraryTarget: "commonjs2",
devtoolModuleFilenameTemplate: "../[resource-path]",
},
devtool: "source-map",
externals: {
vscode: "commonjs vscode",
},
resolve: {
extensions: [".ts", ".js"],
},
module: {
rules: [
{
test: /\.ts$/,
exclude: /node_modules/,
use: [
{
loader: "ts-loader",
},
],
},
],
},
plugins: [new CleanWebpackPlugin()],
} as webpack.Configuration;
// todo