UNPKG

vue-simple-context-menu

Version:

Simple context-menu component built for Vue. Works well with both left and right clicks. Nothing too fancy, just works and is simple to use.

120 lines (116 loc) 2.67 kB
// This webpack config is used to serve the example app in ./example const { VueLoaderPlugin } = require('vue-loader'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const path = require('path'); const TerserPlugin = require('terser-webpack-plugin'); const webpack = require('webpack'); module.exports = { entry: './example/main.js', output: { filename: 'build.js', path: path.resolve(__dirname, './docs'), publicPath: process.env.NODE_ENV === 'development' ? '/' : '/vue-simple-context-menu/', }, module: { rules: [ { test: /\.css$/, use: [ { loader: MiniCssExtractPlugin.loader, }, 'css-loader', ], }, { test: /\.scss$/, use: [ { loader: MiniCssExtractPlugin.loader, }, 'css-loader', 'sass-loader', ], }, { test: /\.sass$/, use: [ { loader: MiniCssExtractPlugin.loader, }, 'css-loader', 'sass-loader?indentedSyntax', ], }, { loader: 'vue-loader', test: /\.vue$/, }, { exclude: /node_modules/, loader: 'babel-loader', test: /\.js$/, }, { test: /\.(png|jpg|gif|svg)$/, loader: 'file-loader', options: { name: '[name].[ext]?[hash]', }, }, ], }, resolve: { alias: { vue$: 'vue/dist/vue.esm-bundler.js', }, extensions: ['*', '.js', '.vue', '.json'], }, devServer: { historyApiFallback: true, noInfo: true, overlay: true, }, performance: { hints: false, }, optimization: { minimizer: [ new TerserPlugin({ parallel: 4, terserOptions: { compress: { warnings: false, }, warnings: false, }, }), ], }, devtool: '#eval-source-map', plugins: [ new VueLoaderPlugin(), new MiniCssExtractPlugin({ filename: '[name].css', }), new HtmlWebpackPlugin({ title: 'vue-simple-context-menu', template: './example/index.html', }), ], }; if (process.env.NODE_ENV === 'production') { module.exports.devtool = '#source-map'; // http://vue-loader.vuejs.org/en/workflow/production.html module.exports.plugins = (module.exports.plugins || []).concat([ new webpack.DefinePlugin({ 'process.env': { NODE_ENV: '"production"', }, }), new webpack.LoaderOptionsPlugin({ minimize: true, }), ]); }