clientjs/packages/dashboard-components/webpack.config.js
changeset 0 5f4fcbc80b37
child 6 819a7ab4e3fb
equal deleted inserted replaced
-1:000000000000 0:5f4fcbc80b37
       
     1 const path = require('path');
       
     2 // const nodeExternals = require('webpack-node-externals');
       
     3 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
       
     4 
       
     5 module.exports = {
       
     6   entry: path.resolve(__dirname, 'src/index.js'),
       
     7   output: {
       
     8     path: path.resolve(__dirname, 'lib'),
       
     9     filename: 'dashboard-components.js',
       
    10     library: '',
       
    11     libraryTarget: 'commonjs2',
       
    12   },
       
    13   resolve: {
       
    14     extensions: ['.wasm', '.mjs', '.js', '.json', '.jsx'],
       
    15   },
       
    16   // externals: [nodeExternals()],
       
    17   target: 'web',
       
    18   module: {
       
    19     rules: [
       
    20       {
       
    21         test: /\.(js|jsx)$/,
       
    22         enforce: 'pre',
       
    23         exclude: /node_modules/,
       
    24         loader: 'eslint-loader',
       
    25         options: {
       
    26           emitWarning: true,
       
    27           failOnWarning: true,
       
    28           failOnError: true,
       
    29         },
       
    30       },
       
    31       {
       
    32         test: /\.(js|jsx)$/,
       
    33         exclude: /node_modules/,
       
    34         loader: 'babel-loader',
       
    35         options: {
       
    36           presets: ['@babel/preset-env', '@babel/preset-react'],
       
    37           plugins: ['@babel/plugin-proposal-class-properties'],
       
    38         },
       
    39       },
       
    40       {
       
    41         test: /\.s[c|a]ss$/,
       
    42         use: ['style-loader', MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader', 'sass-loader'],
       
    43       },
       
    44       {
       
    45         test: /\.(png|jpg|gif)$/i,
       
    46         use: [
       
    47           {
       
    48             loader: 'url-loader',
       
    49             options: {
       
    50               limit: 8192,
       
    51             },
       
    52           },
       
    53         ],
       
    54       },
       
    55     ],
       
    56   },
       
    57   plugins: [
       
    58     new MiniCssExtractPlugin({
       
    59       filename: 'dashboard-components.css',
       
    60     }),
       
    61   ],
       
    62   performance: {
       
    63     hints: false,
       
    64   },
       
    65 };