12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- const { rspack } = require('@rspack/core');
- const path = require('path');
- const { merge } = require('webpack-merge');
- const common = require('../rspack/rspack.common.js');
- module.exports = merge(common, {
- mode: 'production',
- optimization: {
- minimize: false,
- },
- entry: {
- 'converse-no-dependencies': path.resolve(__dirname, '../src/entry.js'),
- },
- plugins: [
- new rspack.CssExtractRspackPlugin({ filename: 'tmp.css' }),
- new rspack.DefinePlugin({
- 'process.env.NODE_ENV': JSON.stringify('production'),
- }),
- ],
- module: {
- rules: [
- {
- test: /\.js$/,
- include: /src/,
- use: {
- loader: 'builtin:swc-loader',
- options: {
- jsc: {
- target: 'es5',
- preserveAllComments: true,
- parser: {
- syntax: 'ecmascript',
- dynamicImport: false,
- decorators: false,
- },
- },
- },
- },
- },
- {
- test: /\.scss$/,
- use: [
- rspack.CssExtractRspackPlugin.loader,
- 'css-loader',
- {
- loader: 'sass-loader',
- options: {
- api: 'modern-compiler',
- sassOptions: {
- silenceDeprecations: ['color-functions', 'global-builtin', 'import', 'mixed-decls'],
- includePaths: [path.resolve(__dirname, '../node_modules/')],
- },
- },
- },
- ],
- },
- ],
- },
- externals: [
- {
- '@converse/skeletor': 'skeletor',
- 'filesize': 'filesize',
- 'jed': 'jed',
- 'lit': 'lit',
- 'lit-html': 'lit-html',
- 'localforage': 'localforage',
- 'lodash': 'lodash',
- 'lodash.noconflict': 'lodash.noconflict',
- 'pluggable.js': 'pluggable',
- 'sizzle': 'sizzle',
- 'strophe.js': 'strophe',
- 'urijs': 'urijs',
- 'window': 'window',
- },
- ],
- });
|