diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index c890740..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,78 +0,0 @@ -const { resolve } = require('path') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer') -const { VueLoaderPlugin } = require('vue-loader') -const webpack = require('webpack') - -const outputPath = resolve(__dirname, 'playground_dist') - -/** @type {import('webpack').ConfigurationFactory} */ -const config = (env = {}) => { - const extraPlugins = env.prod ? [new BundleAnalyzerPlugin()] : [] - - return { - mode: env.prod ? 'production' : 'development', - devtool: env.prod ? 'source-map' : 'inline-source-map', - - devServer: { - contentBase: outputPath, - historyApiFallback: true, - hot: true, - stats: 'minimal', - }, - - output: { - path: outputPath, - publicPath: '/', - filename: 'bundle.js', - }, - - entry: [resolve(__dirname, 'playground/main.ts')], - module: { - rules: [ - { - test: /\.css$/i, - use: ['style-loader', 'css-loader'], - }, - { - test: /\.ts$/, - use: { - loader: 'ts-loader', - options: { appendTsSuffixTo: [/\.vue$/] }, - }, - }, - { - test: /\.vue$/, - use: 'vue-loader', - }, - ], - }, - resolve: { - alias: { - // this isn't technically needed, since the default `vue` entry for bundlers - // is a simple `export * from '@vue/runtime-dom`. However having this - // extra re-export somehow causes webpack to always invalidate the module - // on the first HMR update and causes the page to reload. - vue: '@vue/runtime-dom', - }, - // Add `.ts` and `.tsx` as a resolvable extension. - extensions: ['.ts', 'd.ts', '.tsx', '.js', '.vue'], - }, - plugins: [ - new VueLoaderPlugin(), - new HtmlWebpackPlugin({ - template: resolve(__dirname, 'playground/index.html'), - }), - new webpack.DefinePlugin({ - __DEV__: JSON.stringify(!env.prod), - __BROWSER__: 'true', - 'process.env': { - NODE_ENV: JSON.stringify(process.env.NODE_ENV), - }, - }), - ...extraPlugins, - ], - } -} - -module.exports = config