49 lines
1.7 KiB
JavaScript
49 lines
1.7 KiB
JavaScript
//@ts-check
|
||
|
||
'use strict';
|
||
|
||
const path = require('path');
|
||
|
||
//@ts-check
|
||
/** @typedef {import('webpack').Configuration} WebpackConfig **/
|
||
|
||
/** @type WebpackConfig */
|
||
const extensionConfig = {
|
||
target: 'node', // VS Code extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/
|
||
mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production')
|
||
|
||
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: 'extension.js',
|
||
libraryTarget: 'commonjs2'
|
||
},
|
||
externals: {
|
||
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/
|
||
handlebars: 'commonjs handlebars' // исключаем handlebars для избежания предупреждений о require.extensions
|
||
// modules added here also need to be added in the .vscodeignore file
|
||
},
|
||
resolve: {
|
||
// support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader
|
||
extensions: ['.ts', '.js']
|
||
},
|
||
module: {
|
||
rules: [
|
||
{
|
||
test: /\.ts$/,
|
||
exclude: /node_modules/,
|
||
use: [
|
||
{
|
||
loader: 'ts-loader'
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
devtool: 'nosources-source-map',
|
||
infrastructureLogging: {
|
||
level: "log", // enables logging required for problem matchers
|
||
},
|
||
};
|
||
module.exports = [ extensionConfig ]; |