summaryrefslogtreecommitdiff
path: root/webpack/module/rules/collapse-spaces.ts
blob: 48fd57f0172c18df4e630bdf62d28c906e8fa050 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
				});
			}
		}]
	})
});