PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.11.13
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.11.13
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 3.10.4 All 148 releases
visualizer / classes / Visualizer / Gutenberg / webpack.config.js

webpack.config.js in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.11.13, at classes/Visualizer/Gutenberg/webpack.config.js

109 lines 3.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 const webpack = require('webpack');
2 const NODE_ENV = process.env.NODE_ENV || 'development';
3 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
4 const TerserPlugin = require('terser-webpack-plugin');
5
6 module.exports = {
7 externals: {
8 'lodash': 'lodash'
9 },
10 mode: NODE_ENV,
11 entry: {
12 block: './src/index.js'
13 },
14 output: {
15 path: __dirname,
16 filename: './build/[name].js'
17 },
18 module: {
19 rules: [
20 {
21 test: /\.js$/,
22 use: {
23 loader: 'babel-loader',
24 options: {
25 presets: ['@babel/preset-env'],
26 plugins: [
27 '@babel/plugin-transform-async-to-generator',
28 '@babel/plugin-proposal-object-rest-spread',
29 [
30 '@babel/plugin-transform-react-jsx', {
31 'pragma': 'wp.element.createElement'
32 }
33 ]
34 ]
35 }
36 },
37 exclude: /node_modules/
38 },
39 {
40 test: /\.(css|scss)$/,
41 use: [
42 {
43 loader: MiniCssExtractPlugin.loader
44 },
45 'css-loader',
46 {
47 loader: 'postcss-loader',
48 options: {
49 postcssOptions: {
50 plugins: [
51 require('autoprefixer')
52 ]
53 }
54 }
55 },
56 {
57 loader: 'sass-loader',
58 options: {
59 implementation: require('sass'),
60 sassOptions: {
61 outputStyle: NODE_ENV === 'production' ? 'compressed' : 'expanded'
62 }
63 }
64 }
65 ]
66 },
67 {
68 test: /\.(png|jpe?g|gif)$/,
69 use: [
70 {
71 loader: 'file-loader',
72 options: {
73 name: './[name].[ext]'
74 }
75 }
76 ]
77 }
78 ]
79 },
80 optimization: {
81 splitChunks: {
82 cacheGroups: {
83 handsontable: {
84 name: 'handsontable',
85 test: /[\\/]node_modules[\\/]handsontable/,
86 chunks: 'all',
87 enforce: true
88 }
89 }
90 }
91 },
92 plugins: [
93 new webpack.DefinePlugin({
94 'process.env.NODE_ENV': JSON.stringify(NODE_ENV)
95 }),
96 new MiniCssExtractPlugin({
97 filename: './build/[name].css'
98 }),
99 new TerserPlugin({
100 terserOptions: {
101 format: {
102 comments: false // Disable comments
103 }
104 },
105 extractComments: false // Prevents LICENSE.txt generation
106 })
107 ]
108 };
109