2019-09-05 01:36:10 +03:00
/ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Copyright ( c ) Microsoft Corporation . All rights reserved .
* Licensed under the MIT License . See License . txt in the project root for license information .
* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- * /
//@ts-check
'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 : 'main.js' ,
libraryTarget : "commonjs2" ,
devtoolModuleFilenameTemplate : "../[resource-path]" ,
} ,
node : {
2019-09-06 00:53:33 +03:00
_ _dirname : false ,
2019-09-05 01:36:10 +03:00
} ,
devtool : 'source-map' ,
externals : {
2020-09-28 19:16:33 +03:00
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/
2019-09-05 01:36:10 +03:00
} ,
resolve : { // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader
extensions : [ '.ts' , '.js' ] ,
alias : {
"@cmt" : path . resolve ( _ _dirname , 'src' )
2021-02-19 16:33:15 +03:00
} ,
mainFields : [ 'main' , 'module' ]
2019-09-05 01:36:10 +03:00
} ,
module : {
rules : [ {
test : /\.ts$/ ,
exclude : /node_modules/ ,
use : [ {
// configure TypeScript loader:
// * enable sources maps for end-to-end source maps
loader : 'ts-loader' ,
options : {
compilerOptions : {
"sourceMap" : true ,
}
}
} ]
2020-10-07 23:52:43 +03:00
} , {
test : /.node$/ ,
loader : 'node-loader' ,
2019-09-05 01:36:10 +03:00
} ]
} ,
optimization : {
minimize : false
} ,
stats : {
warnings : false
2019-09-05 23:48:23 +03:00
}
2019-09-05 01:36:10 +03:00
}
2023-08-01 19:25:27 +03:00
module . exports = ( env ) => {
if ( env . BUILD _VSCODE _NLS ) {
// rewrite nls call when being asked for
// @ts-ignore
config . module . rules . unshift ( {
loader : 'vscode-nls-dev/lib/webpack-loader' ,
options : {
base : _ _dirname
}
} )
}
2019-09-05 01:36:10 +03:00
2023-08-01 19:25:27 +03:00
return config ;
} ;