This commit is contained in:
syuilo 2018-11-09 04:02:12 +09:00
parent 6dc5ab5cd5
commit ca631838ee
2 changed files with 1 additions and 54 deletions

View file

@ -6,7 +6,6 @@ import * as fs from 'fs';
import * as webpack from 'webpack'; import * as webpack from 'webpack';
import chalk from 'chalk'; import chalk from 'chalk';
const { VueLoaderPlugin } = require('vue-loader'); const { VueLoaderPlugin } = require('vue-loader');
const minifyHtml = require('html-minifier').minify;
const WebpackOnBuildPlugin = require('on-build-webpack'); const WebpackOnBuildPlugin = require('on-build-webpack');
//const HardSourceWebpackPlugin = require('hard-source-webpack-plugin'); //const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
const ProgressBarPlugin = require('progress-bar-webpack-plugin'); const ProgressBarPlugin = require('progress-bar-webpack-plugin');
@ -18,20 +17,6 @@ const meta = require('./package.json');
const version = meta.clientVersion; const version = meta.clientVersion;
const codename = meta.codename; const codename = meta.codename;
declare var global: {
collapseSpacesReplacement: any;
};
//#region Replacer definitions
global['collapseSpacesReplacement'] = (html: string) => {
return minifyHtml(html, {
collapseWhitespace: true,
collapseInlineTagWhitespace: true,
keepClosingSlash: true
}).replace(/\t/g, '');
};
//#endregion
const langs = Object.keys(locales); const langs = Object.keys(locales);
const isProduction = process.env.NODE_ENV == 'production'; const isProduction = process.env.NODE_ENV == 'production';
@ -122,14 +107,6 @@ module.exports = {
} }
}, { }, {
loader: 'vue-svg-inline-loader' loader: 'vue-svg-inline-loader'
}, {
loader: 'replace',
query: {
qs: [{
search: /^<template>([\s\S]+?)\r?\n<\/template>/.toString(),
replace: 'collapseSpacesReplacement'
}]
}
}] }]
}, { }, {
test: /\.styl(us)?$/, test: /\.styl(us)?$/,
@ -199,7 +176,7 @@ module.exports = {
} }
}, },
resolveLoader: { resolveLoader: {
modules: ['node_modules', './webpack/loaders'] modules: ['node_modules']
}, },
cache: true, cache: true,
devtool: false, //'source-map', devtool: false, //'source-map',

View file

@ -1,30 +0,0 @@
import { getOptions } from 'loader-utils';
function trim(text, g) {
return text.substring(1, text.length - (g ? 2 : 0));
}
export default function(src) {
const fn = options => {
const search = options.search;
const g = search.endsWith('g');
const file = this.resourcePath.replace(/\\/g, '/');
const replace = options.i18n ? global[options.replace].bind(null, {
src: file,
lang: options.lang
}) : global[options.replace];
if (typeof search != 'string' || search.length == 0) console.error('invalid search');
if (typeof replace != 'function') console.error('invalid replacer:', replace, this.request);
src = src.replace(new RegExp(trim(search, g), g ? 'g' : ''), replace);
};
this.cacheable();
const options = getOptions(this);
if (options.qs) {
options.qs.forEach(q => fn(q));
} else {
fn(options);
}
this.callback(null, src);
return src;
}