web/webpack.config.js
author ymh <ymh.work@gmail.com>
Wed, 18 Dec 2024 12:52:21 +0100
changeset 1583 459a88818bec
parent 1558 761ba7426984
permissions -rw-r--r--
add jquery and dashjs to client page
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1558
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
const path = require('path');
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
const webpack = require('webpack');
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
const nodeModulesPath = path.resolve(__dirname, 'node_modules');
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
module.exports = {
1583
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
     9
  entry: {
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
    10
    'live-polemic': [
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
    11
      __dirname + '/src/js/index.js',
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
    12
      __dirname + '/src/css/main.scss',
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
    13
      __dirname + '/src/css/common.scss',
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
    14
      __dirname + '/src/css/vendors.scss', 
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
    15
    ],
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
    16
    'client': [
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
    17
      __dirname + '/src/js/client.js',  
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
    18
  ]
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
    19
},
1558
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
  output: {
1583
459a88818bec add jquery and dashjs to client page
ymh <ymh.work@gmail.com>
parents: 1558
diff changeset
    21
    filename: '[name].js',
1558
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    path: path.resolve(__dirname, 'res/js'),
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
  },
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
  plugins: [
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    new webpack.ProvidePlugin({
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
        $: "jquery",
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
        jQuery: "jquery",
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    })
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
  ],
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
//  devtool: 'eval',
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
  optimization: {
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    minimizer: [
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
      // For webpack@5 you can use the `...` syntax to extend existing minimizers (i.e. `terser-webpack-plugin`), uncomment the next line
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
      `...`,
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
      new CssMinimizerPlugin(),
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    ],
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    minimize: true,
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
  },
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
  module: {
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
    rules: [
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
      {
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
        test: /\.s?css$/,
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
        exclude: [ "/res/css" ],
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
        type: 'asset/resource',
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
        generator: {
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
          filename: '../css/[name].css'
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
        },
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
        use: [
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
          'resolve-url-loader',
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
          {
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
            loader: 'sass-loader',
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
            options: {
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
              sourceMap: true,
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
              // sassOptions: {
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
              //   includePaths: [nodeModulesPath],
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
              // },
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
            }
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
          },
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
        ]
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
      },
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
      {
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
        test: /\.(eot|ttf|woff|woff2)$/i,
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
        // More information here https://webpack.js.org/guides/asset-modules/
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
        type: "asset",
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
        generator: {
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
          filename: '../emits/fonts/[hash][ext][query]'
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
        },
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
      },
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
      {
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
        test: /\.(png|jpe?g|gif|svg)$/i,
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
        // More information here https://webpack.js.org/guides/asset-modules/
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
        type: "asset",
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
        generator: {
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
          filename: '../emits/images/[hash][ext][query]'
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
        },
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
      },
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
    ]
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
  }
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
761ba7426984 upgrade metadataplayer and add a sitemap
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
};