Web: Doceditor: modified webpack config for client
This commit is contained in:
parent
8172c832bf
commit
4d9422ef0d
@ -1,17 +0,0 @@
|
||||
const { merge } = require("webpack-merge");
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
const baseClientConfig = require("../webpack.base.client");
|
||||
|
||||
const clientConfig = {
|
||||
mode: "production",
|
||||
entry: { client: "./src/client/index.js" },
|
||||
devtool: false,
|
||||
|
||||
optimization: {
|
||||
splitChunks: { chunks: "all" },
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = merge(baseClientConfig, clientConfig);
|
@ -1,6 +1,5 @@
|
||||
const { merge } = require("webpack-merge");
|
||||
const path = require("path");
|
||||
const baseConfig = require("../webpack.base.js");
|
||||
const ModuleFederationPlugin = require("webpack").container
|
||||
.ModuleFederationPlugin;
|
||||
const HotModuleReplacementPlugin = require("webpack")
|
||||
@ -8,13 +7,15 @@ const HotModuleReplacementPlugin = require("webpack")
|
||||
const DefinePlugin = require("webpack").DefinePlugin;
|
||||
const { WebpackManifestPlugin } = require("webpack-manifest-plugin");
|
||||
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
|
||||
const ExternalTemplateRemotesPlugin = require("external-remotes-plugin");
|
||||
const CopyPlugin = require("copy-webpack-plugin");
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
const combineUrl = require("@appserver/common/utils/combineUrl");
|
||||
const minifyJson = require("@appserver/common/utils/minifyJson");
|
||||
const AppServerConfig = require("@appserver/common/constants/AppServerConfig");
|
||||
const { proxyURL } = AppServerConfig;
|
||||
const sharedDeps = require("@appserver/common/constants/sharedDependencies");
|
||||
const ExternalTemplateRemotesPlugin = require("external-remotes-plugin");
|
||||
const CopyPlugin = require("copy-webpack-plugin");
|
||||
const baseConfig = require("./webpack.base.js");
|
||||
|
||||
for (let dep in sharedDeps) {
|
||||
sharedDeps[dep].eager = true;
|
||||
@ -29,17 +30,17 @@ const clientConfig = {
|
||||
devtool: "inline-cheap-module-source-map",
|
||||
|
||||
output: {
|
||||
path: path.resolve(process.cwd(), "dist"),
|
||||
path: path.resolve(process.cwd(), "dist/client"),
|
||||
filename: "static/js/[name].[contenthash].bundle.js",
|
||||
publicPath: "/products/files/doceditor/",
|
||||
chunkFilename: "static/js/[id].[contenthash].js",
|
||||
},
|
||||
resolve: {
|
||||
...baseConfig.resolve,
|
||||
},
|
||||
module: {
|
||||
...baseConfig.module,
|
||||
|
||||
performance: {
|
||||
maxEntrypointSize: 512000,
|
||||
maxAssetSize: 512000,
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new CleanWebpackPlugin(),
|
||||
new ModuleFederationPlugin({
|
||||
@ -72,29 +73,34 @@ const clientConfig = {
|
||||
],
|
||||
}),
|
||||
new WebpackManifestPlugin(),
|
||||
new DefinePlugin({
|
||||
IS_DEVELOPMENT: process.env.NODE_ENV === "development",
|
||||
PORT: process.env.PORT,
|
||||
}),
|
||||
new HotModuleReplacementPlugin(),
|
||||
],
|
||||
optimization: {
|
||||
runtimeChunk: "single", // creates a runtime file to be shared for all generated chunks.
|
||||
splitChunks: {
|
||||
chunks: "all", // This indicates which chunks will be selected for optimization.
|
||||
automaticNameDelimiter: "-",
|
||||
cacheGroups: {
|
||||
vendor: {
|
||||
// to convert long vendor generated large name into vendor.js
|
||||
test: /[\\/]node_modules[\\/]/,
|
||||
name: "vendor",
|
||||
chunks: "all",
|
||||
},
|
||||
},
|
||||
},
|
||||
minimize: false,
|
||||
minimizer: [],
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = merge(baseConfig, clientConfig);
|
||||
module.exports = (env, argv) => {
|
||||
if (argv.mode === "production") {
|
||||
clientConfig.mode = "production";
|
||||
clientConfig.optimization = {
|
||||
// splitChunks: { chunks: "all" },
|
||||
minimize: !env.minimize,
|
||||
minimizer: [new TerserPlugin()],
|
||||
};
|
||||
clientConfig.plugins = [
|
||||
...clientConfig.plugins,
|
||||
new DefinePlugin({
|
||||
IS_DEVELOPMENT: false,
|
||||
}),
|
||||
];
|
||||
} else {
|
||||
clientConfig.devtool = "cheap-module-source-map";
|
||||
clientConfig.plugins = [
|
||||
...clientConfig.plugins,
|
||||
new DefinePlugin({
|
||||
IS_DEVELOPMENT: true,
|
||||
PORT: process.env.PORT || 5013,
|
||||
}),
|
||||
];
|
||||
}
|
||||
|
||||
return merge(baseConfig, clientConfig);
|
||||
};
|
@ -12,14 +12,9 @@ const serverConfig = {
|
||||
entry: {
|
||||
server: "./src/server/index.js",
|
||||
},
|
||||
resolve: {
|
||||
...baseConfig.resolve,
|
||||
},
|
||||
module: {
|
||||
...baseConfig.module,
|
||||
},
|
||||
|
||||
output: {
|
||||
path: path.resolve(process.cwd(), "dist/server"),
|
||||
path: path.resolve(process.cwd(), "dist/"),
|
||||
filename: "[name].js",
|
||||
libraryTarget: "commonjs2",
|
||||
chunkFilename: "chunks/[name].js",
|
||||
@ -29,19 +24,13 @@ const serverConfig = {
|
||||
|
||||
module.exports = (env, argv) => {
|
||||
if (argv.mode === "production") {
|
||||
baseConfig.mode = "production";
|
||||
baseConfig.optimization = {
|
||||
splitChunks: { chunks: "all" },
|
||||
minimize: !env.minimize,
|
||||
minimizer: [new TerserPlugin()],
|
||||
};
|
||||
baseConfig.plugins = [
|
||||
serverConfig.plugins = [
|
||||
new DefinePlugin({
|
||||
IS_DEVELOPMENT: false,
|
||||
}),
|
||||
];
|
||||
} else {
|
||||
baseConfig.plugins = [
|
||||
serverConfig.plugins = [
|
||||
new DefinePlugin({
|
||||
IS_DEVELOPMENT: true,
|
||||
}),
|
||||
|
Loading…
Reference in New Issue
Block a user