UNPKG

tooltip-plugin

Version:

A javascript plugin for tooltip

82 lines (70 loc) 1.9 kB
const path = require('path'); const webpack = require('webpack'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const TerserPlugin = require('terser-webpack-plugin'); const FileManagerPlugin = require('filemanager-webpack-plugin'); const banner = `Tooltip v1.0.16 https://sa-si-dev.github.io/tooltip Licensed under MIT (https://github.com/sa-si-dev/tooltip/blob/master/LICENSE)`; module.exports = (env, options) => { const config = { target: 'es5', entry: { styles: './src/styles.js', tooltip: ['./node_modules/popper-plugin/dist/popper.min.js', './src/tooltip.js'], }, output: { filename: '[name].min.js', path: path.resolve(__dirname, 'dist'), chunkFormat: 'array-push', }, plugins: [ new MiniCssExtractPlugin({ filename: 'tooltip.min.css', }), new webpack.BannerPlugin(banner), new FileManagerPlugin({ events: { onStart: { delete: ['dist'], }, onEnd: { delete: ['dist/styles.min.js'], copy: [{ source: 'dist', destination: 'docs/assets' }], }, }, }), ], optimization: { minimize: true, minimizer: [ new TerserPlugin({ extractComments: false, }), ], }, module: { rules: [ { test: /\.scss$/, exclude: /(node_modules)/, use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'], }, { test: /\.m?js$/, exclude: /(node_modules|bower_components)/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'], }, }, }, ], }, }; if (options.mode === 'development') { config.devtool = 'inline-source-map'; } return config; };