1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /* global module, __dirname */
- const MiniCssExtractPlugin = require('mini-css-extract-plugin');
- const common = require("./webpack.common.js");
- const path = require('path');
- const { merge} = require("webpack-merge");
- module.exports = merge(common, {
- mode: "production",
- entry: {
- "converse-no-dependencies": path.resolve(__dirname, "../src/entry.js"),
- },
- plugins: [
- new MiniCssExtractPlugin({filename: 'tmp.css'})
- ],
- module: {
- rules: [
- {
- test: /\.js$/,
- include: /src/,
- use: {
- loader: 'babel-loader',
- options: {
- presets: [
- ["@babel/preset-env", {
- "targets": {
- "browsers": ["ie 11"]
- }
- }]
- ],
- plugins: [
- '@babel/plugin-proposal-class-properties',
- '@babel/plugin-proposal-nullish-coalescing-operator',
- '@babel/plugin-proposal-optional-chaining',
- '@babel/plugin-syntax-dynamic-import'
- ]
- }
- }
- },
- {
- test: /\.scss$/,
- use: [
- MiniCssExtractPlugin.loader,
- 'css-loader',
- {
- loader: 'sass-loader',
- options: {
- sassOptions: {
- includePaths: [path.resolve(__dirname, '../node_modules/')]
- }
- }
- }
- ]
- }]
- },
- externals: [{
- 'pluggable.js': 'pluggable',
- '@converse/skeletor': 'skeletor',
- 'localforage': 'localforage',
- 'filesize': 'filesize',
- 'jed': 'jed',
- 'lodash': 'lodash',
- 'lodash.noconflict': 'lodash.noconflict',
- 'sizzle': 'sizzle',
- 'strophe.js': 'strophe',
- 'urijs': 'urijs',
- 'window': 'window',
- }]
- });
|