add a way to opt out of ts-loader so that vscode-nls-tricks survive

This commit is contained in:
Johannes Rieken
2018-08-17 17:58:57 +02:00
parent 418808ac75
commit c98ed76158
2 changed files with 29 additions and 22 deletions

View File

@@ -12,32 +12,17 @@ const path = require('path');
* returns a good default configuation for extensions that
* want to do webpack
*/
module.exports = function (extensionDir) {
return {
module.exports = function (extensionDir, useTsLoader = true) {
let config = {
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: [".ts", ".js"] // support ts-files and js-files
extensions: [".js"]
},
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,
}
}
}]
}]
rules: []
},
output: {
// all output goes into `dist`.
@@ -49,4 +34,26 @@ module.exports = function (extensionDir) {
// 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;
};