From 5ea3c53613dbdb2f1bc97fc7af2406e03cf72f67 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Mon, 18 Nov 2019 10:56:40 +0100 Subject: [PATCH] create separate styles bundle --- scm-ui/ui-scripts/package.json | 2 + scm-ui/ui-scripts/src/webpack.config.js | 43 +- scm-ui/ui-webapp/public/index.mustache | 1 + .../sonia/scm/lifecycle/view/SingleView.java | 2 +- .../main/resources/templates/layout.mustache | 2 +- yarn.lock | 569 +++++++++++++++++- 6 files changed, 604 insertions(+), 15 deletions(-) diff --git a/scm-ui/ui-scripts/package.json b/scm-ui/ui-scripts/package.json index d647427a1a..7ef5d2819c 100644 --- a/scm-ui/ui-scripts/package.json +++ b/scm-ui/ui-scripts/package.json @@ -14,8 +14,10 @@ "cache-loader": "^4.1.0", "css-loader": "^3.2.0", "file-loader": "^4.2.0", + "mini-css-extract-plugin": "^0.8.0", "mustache": "^3.1.0", "node-sass": "^4.12.0", + "optimize-css-assets-webpack-plugin": "^5.0.3", "sass-loader": "^8.0.0", "script-loader": "^0.7.2", "style-loader": "^1.0.0", diff --git a/scm-ui/ui-scripts/src/webpack.config.js b/scm-ui/ui-scripts/src/webpack.config.js index c4cf6d609b..639872c6b8 100644 --- a/scm-ui/ui-scripts/src/webpack.config.js +++ b/scm-ui/ui-scripts/src/webpack.config.js @@ -1,19 +1,52 @@ const path = require("path"); const createIndexMiddleware = require("./middleware/IndexMiddleware"); const createContextPathMiddleware = require("./middleware/ContextPathMiddleware"); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); +const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin"); const root = path.resolve(process.cwd(), "scm-ui"); module.exports = [ { context: root, - entry: { - webapp: [ - path.resolve(__dirname, "webpack-public-path.js"), - "./ui-styles/src/scm.scss", - "./ui-webapp/src/index.tsx" + entry: "./ui-styles/src/scm.scss", + module: { + rules: [ + { + test: /\.(css|scss|sass)$/i, + use: [ + { + loader: MiniCssExtractPlugin.loader + }, + "css-loader", + "sass-loader" + ] + }, + { + test: /\.(png|svg|jpg|gif|woff2?|eot|ttf)$/, + use: ["file-loader"] + } ] }, + plugins: [ + new MiniCssExtractPlugin({ + filename: "ui-styles.css", + ignoreOrder: false + }) + ], + optimization: { + minimizer: [new OptimizeCSSAssetsPlugin({})] + }, + output: { + path: path.join(root, "target", "assets"), + filename: "ui-styles.bundle.js" + } + }, + { + context: root, + entry: { + webapp: [path.resolve(__dirname, "webpack-public-path.js"), "./ui-webapp/src/index.tsx"] + }, devtool: "cheap-module-eval-source-map", target: "web", node: { diff --git a/scm-ui/ui-webapp/public/index.mustache b/scm-ui/ui-webapp/public/index.mustache index 64846128a1..d94bc552ee 100644 --- a/scm-ui/ui-webapp/public/index.mustache +++ b/scm-ui/ui-webapp/public/index.mustache @@ -14,6 +14,7 @@ SCM-Manager +