use vscode-nls-dev-loader

This commit is contained in:
Johannes Rieken
2018-08-20 12:18:30 +02:00
parent 1f1b778104
commit 669f2c8627
4 changed files with 30 additions and 33 deletions

View File

@@ -12,17 +12,36 @@ const path = require('path');
* returns a good default configuation for extensions that
* want to do webpack
*/
module.exports = function (extensionDir, useTsLoader = true) {
let config = {
module.exports = function (extensionDir) {
return {
context: extensionDir,
mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production')
target: 'node', // extensions run in a node context
resolve: {
mainFields: ['main'], // prefer the main-entry of package.json files
extensions: [".js"]
extensions: ['.ts', '.js'] // support ts-files and js-files
},
module: {
rules: []
rules: [{
test: /\.ts$/,
exclude: /node_modules/,
use: [{
// vscode-nls-dev loader:
// * rewrite nls-calls
loader: 'vscode-nls-dev/lib/webpack-loader'
}, {
// configure TypeScript loader:
// * only transpile because we have a separate compilation pipeline
// * enable sources maps for end-to-end source maps
loader: 'ts-loader',
options: {
transpileOnly: true,
compilerOptions: {
"sourceMap": true,
}
}
}]
}]
},
output: {
// all output goes into `dist`.
@@ -34,26 +53,4 @@ module.exports = function (extensionDir, useTsLoader = true) {
// yes, really source maps
devtool: 'source-map'
};
if (useTsLoader) {
config.resolve.extensions = [".ts", ".js"]; // support ts-files and js-files
config.module.rules = [{
// configure TypeScript loader:
// * only transpile because we have a separate compilation pipeline
// * enable sources maps for end-to-end source maps
test: /\.ts$/,
exclude: /node_modules/,
use: [{
loader: 'ts-loader',
options: {
transpileOnly: true,
compilerOptions: {
"sourceMap": true,
}
}
}]
}];
}
return config;
};