From 2ad3279f1af243b5872319a96f73e583c5a550d4 Mon Sep 17 00:00:00 2001 From: DK Date: Tue, 17 Jul 2018 17:33:55 +0500 Subject: [PATCH] Minify JSON localization files on a build stage. --- ui/package.json | 3 ++- ui/webpack.config.dev.js | 15 +++++++++++++-- ui/webpack.config.prod.js | 15 +++++++++++++-- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/ui/package.json b/ui/package.json index 284f9044ee..495923799d 100644 --- a/ui/package.json +++ b/ui/package.json @@ -128,7 +128,8 @@ "webpack-dev-server": "^1.15.1", "webpack-hot-middleware": "^2.12.2", "webpack-material-design-icons": "^0.1.0", - "directory-tree": "^2.1.0" + "directory-tree": "^2.1.0", + "jsonminify": "^0.4.1" }, "engine": "node >= 5.9.0", "nyc": { diff --git a/ui/webpack.config.dev.js b/ui/webpack.config.dev.js index 1aa09ffffb..7d2b0d3702 100644 --- a/ui/webpack.config.dev.js +++ b/ui/webpack.config.dev.js @@ -21,6 +21,7 @@ const CopyWebpackPlugin = require('copy-webpack-plugin'); const webpack = require('webpack'); const path = require('path'); const dirTree = require('directory-tree'); +const jsonminify = require("jsonminify"); const PUBLIC_RESOURCE_PATH = '/'; @@ -55,8 +56,18 @@ module.exports = { moment: "moment" }), new CopyWebpackPlugin([ - { from: './src/thingsboard.ico', to: 'thingsboard.ico' }, - { from: './src/app/locale', to: 'locale' } + { + from: './src/thingsboard.ico', + to: 'thingsboard.ico' + }, + { + from: './src/app/locale', + to: 'locale', + ignore: [ '*.js' ], + transform: function(content, path) { + return Buffer.from(jsonminify(content.toString())); + } + } ]), new webpack.HotModuleReplacementPlugin(), new HtmlWebpackPlugin({ diff --git a/ui/webpack.config.prod.js b/ui/webpack.config.prod.js index bae09c2fff..a442590d8b 100644 --- a/ui/webpack.config.prod.js +++ b/ui/webpack.config.prod.js @@ -22,6 +22,7 @@ const CompressionPlugin = require('compression-webpack-plugin'); const webpack = require('webpack'); const path = require('path'); const dirTree = require('directory-tree'); +const jsonminify = require("jsonminify"); const PUBLIC_RESOURCE_PATH = '/static/'; @@ -53,8 +54,18 @@ module.exports = { moment: "moment" }), new CopyWebpackPlugin([ - { from: './src/thingsboard.ico', to: 'thingsboard.ico'}, - { from: './src/app/locale', to: 'locale' } + { + from: './src/thingsboard.ico', + to: 'thingsboard.ico' + }, + { + from: './src/app/locale', + to: 'locale', + ignore: [ '*.js' ], + transform: function(content, path) { + return Buffer.from(jsonminify(content.toString())); + } + } ]), new HtmlWebpackPlugin({ template: './src/index.html',