From 58f9c8d37c3ef36564d75facf50cfeffcb4ba23b Mon Sep 17 00:00:00 2001 From: Henning Dieterichs Date: Thu, 8 Aug 2019 01:29:13 +0200 Subject: [PATCH] Configures webpack to bundle the extension. --- .vscode/launch.json | 4 ++-- extension/tsconfig.json | 2 +- extension/webpack.config.ts | 33 ++++++++++++++++++++++++++++----- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 8d9132e..4ece952 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -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" } ] diff --git a/extension/tsconfig.json b/extension/tsconfig.json index 8a1e513..c13016f 100644 --- a/extension/tsconfig.json +++ b/extension/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "module": "commonjs", "target": "es6", - "outDir": "out", + "outDir": "dist", "lib": ["es6"], "sourceMap": true, "rootDir": "src", diff --git a/extension/webpack.config.ts b/extension/webpack.config.ts index ee91cfa..34bf252 100644 --- a/extension/webpack.config.ts +++ b/extension/webpack.config.ts @@ -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