AutoCommit/webpack.config.js

74 lines
2.0 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Author : OBKoro1
* Date : 2019-12-26 17:42:32
* LastEditors : OBKoro1
* LastEditTime : 2020-12-25 14:35:45
* FilePath : \autoCommit\webpack.config.js
* Description : webpack 配置
* https://github.com/OBKoro1
*/
// @ts-check
const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const outputPathName = 'out';
const pathResolve = (p) => path.resolve(__dirname, p);
/** @type {import('webpack').Configuration} */
const config = {
target: 'node', // vscode插件运行在Node.js环境中 📖 -> https://webpack.js.org/configuration/node/
entry: './src/extension.ts', // 插件的入口文件 📖 -> https://webpack.js.org/configuration/entry-context/
output: {
// 打包好的文件储存在'dist'文件夹中 (请参考package.json), 📖 -> https://webpack.js.org/configuration/output/
path: pathResolve(outputPathName),
filename: 'extension.js',
libraryTarget: 'commonjs2',
devtoolModuleFilenameTemplate: '../[resource-path]',
},
devtool: 'source-map',
externals: {
vscode: 'commonjs vscode', // vscode-module是热更新的临时目录所以要排除掉。 在这里添加其他不应该被webpack打包的文件, 📖 -> https://webpack.js.org/configuration/externals/
},
resolve: {
alias: {
'~': pathResolve('src'),
},
// 支持读取TypeScript和JavaScript文件, 📖 -> https://github.com/TypeStrong/ts-loader
extensions: ['.ts', '.js'],
},
module: {
rules: [
{
test: /\.ts$/,
exclude: /node_modules/,
use: [
{
loader: 'ts-loader',
},
],
},
],
},
plugins: [
// @ts-ignore
new CopyWebpackPlugin([
{
from: pathResolve('src/views'),
to: pathResolve(`${outputPathName}/views`),
ignore: ['.*'],
},
{
from: pathResolve('src/assets'),
to: pathResolve(`${outputPathName}/assets`),
ignore: ['.*'],
},
]),
],
};
module.exports = config;