const path = require('path')
const merge = require('webpack-merge')
const baseConf = require('./webpack.base')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')

module.exports =  {
  mode: 'production',
  entry: {
    index: '../src/index.js'
  },
  output: {
    path: path.resolve(__dirname, '../build'),
  },
  // optimization: {
    
  // }
  module: {
    rules: [
      {
        test: /\.(less|css)$/,
        use: [
            'style-loader',
          {
            loader: 'css-loader',
            options: {
              // plugins: [
              //   require('autoprefixer')({ browsers: CSS_BROWSERS, }),
              // ],
              // sourceMap: false
            }
          },
          {
            loader: 'postcss-loader',
            options: {
              // plugins: [require('autoprefixer')({ browsers: CSS_BROWSERS, }),],
              // sourceMap: false,
            }
          },
          {
            loader: 'less-loader',
            options: {
              // sourceMap: false
            }
          }
        ]
    },
    ]
  }
}

// const buildConf = merge(baseConf, {
//   entry: {
//     selector: path.resolve(__dirname, '../src/index.js')
//   },
//   output: {
//     path: path.resolve(__dirname, '../build'),
//     filename: '[name].js'
//   }, 
//   // optimization: {
//   //   splitChunks: {
//   //     cacheGroups: {
//   //       styles: {
//   //         name: 'styles',
//   //         test: /\.css$/,
//   //         chunks: 'all',
//   //         enforce: true
//   //       }
//   //     }
//   //   }
//   // }, 
//   mode: 'production',
//   stats: {
//     colors: true,
//     assets: true,
//     chunks: false,
//     builtAt: true,
//     modules: false,
//     entrypoints: false
//   },
//   module: {
//     rules: [
//       {
//         test: /\.css$/,
//         include: /node_modules/,
//         use: [
//           MiniCssExtractPlugin.loader,
//           {
//             loader: 'css-loader',
//             options: {
//               modules: {
//                 // 重新生成的 css 类名
//                 localIdentName: '[name]__[local]-[hash:base64:5]'
//               },
//               exclude: /node_modules/,
//             }
//           }
//         ]
//       },
//       {
//         test: /\.less$/,
//         use: [
//           MiniCssExtractPlugin.loader,
          
//           'less-loader',
//           {
//             loader: 'css-loader',
//             options: {
//               importLoaders: 1,
//               modules: {
//                 // 重新生成的 css 类名
//                 localIdentName: '[name]__[local]-[hash:base64:5]'
//               },
//               exclude: /node_modules/,
//             }
//           }
//         ]
//       }
//     ]
//   },
//   plugins: [
//     new CleanWebpackPlugin(),
//     new MiniCssExtractPlugin({
//       filename: 'selector.css'
//     })
//   ]
// })

// module.exports = buildConf