summaryrefslogtreecommitdiff
path: root/webpack/module/rules/collapse-spaces.ts
diff options
context:
space:
mode:
Diffstat (limited to 'webpack/module/rules/collapse-spaces.ts')
-rw-r--r--webpack/module/rules/collapse-spaces.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/webpack/module/rules/collapse-spaces.ts b/webpack/module/rules/collapse-spaces.ts
new file mode 100644
index 0000000000..48fd57f017
--- /dev/null
+++ b/webpack/module/rules/collapse-spaces.ts
@@ -0,0 +1,20 @@
+import * as fs from 'fs';
+const minify = require('html-minifier').minify;
+const StringReplacePlugin = require('string-replace-webpack-plugin');
+
+export default () => ({
+ enforce: 'pre',
+ test: /\.vue$/,
+ exclude: /node_modules/,
+ loader: StringReplacePlugin.replace({
+ replacements: [{
+ pattern: /^<template>([\s\S]+?)\r?\n<\/template>/, replacement: html => {
+ return minify(html, {
+ collapseWhitespace: true,
+ collapseInlineTagWhitespace: true,
+ keepClosingSlash: true
+ });
+ }
+ }]
+ })
+});