summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-02-15 23:07:19 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-02-15 23:07:23 +0900
commita7601f7aa493db5d96b66fbbf79e92ff54c4ff28 (patch)
treed9be1db31dea154ca3e9141277f63f77d630be5f
parentwip (diff)
downloadsharkey-a7601f7aa493db5d96b66fbbf79e92ff54c4ff28.tar.gz
sharkey-a7601f7aa493db5d96b66fbbf79e92ff54c4ff28.tar.bz2
sharkey-a7601f7aa493db5d96b66fbbf79e92ff54c4ff28.zip
wip
-rw-r--r--package.json2
-rw-r--r--webpack/module/rules/base64.ts14
-rw-r--r--webpack/module/rules/collapse-spaces.ts23
-rw-r--r--webpack/module/rules/fa.ts12
-rw-r--r--webpack/module/rules/i18n.ts12
-rw-r--r--webpack/module/rules/index.ts8
-rw-r--r--webpack/module/rules/theme-color.ts26
-rw-r--r--webpack/module/rules/vue.ts28
8 files changed, 55 insertions, 70 deletions
diff --git a/package.json b/package.json
index bf924dcdb0..06e517a0d1 100644
--- a/package.json
+++ b/package.json
@@ -157,6 +157,7 @@
"serve-favicon": "2.4.5",
"sortablejs": "1.7.0",
"speakeasy": "2.0.0",
+ "string-replace-loader": "^1.3.0",
"string-replace-webpack-plugin": "0.1.3",
"style-loader": "0.20.1",
"stylus": "0.54.5",
@@ -182,6 +183,7 @@
"vue-template-compiler": "^2.5.13",
"web-push": "3.2.5",
"webpack": "3.10.0",
+ "webpack-replace-loader": "^1.3.0",
"websocket": "1.0.25",
"xev": "2.0.0"
}
diff --git a/webpack/module/rules/base64.ts b/webpack/module/rules/base64.ts
index 886f0e8b38..c2f6b9339e 100644
--- a/webpack/module/rules/base64.ts
+++ b/webpack/module/rules/base64.ts
@@ -8,13 +8,11 @@ export default () => ({
enforce: 'pre',
test: /\.(vue|js)$/,
exclude: /node_modules/,
- use: [{
- loader: 'replace-string-loader',
- options: {
- search: /%base64:(.+?)%/g,
- replace: (_, key) => {
- return fs.readFileSync(__dirname + '/../../../src/web/' + key, 'base64');
- }
+ loader: 'string-replace-loader',
+ query: {
+ search: /%base64:(.+?)%/g,
+ replace: (_, key) => {
+ return fs.readFileSync(__dirname + '/../../../src/web/' + key, 'base64');
}
- }]
+ }
});
diff --git a/webpack/module/rules/collapse-spaces.ts b/webpack/module/rules/collapse-spaces.ts
index 48fd57f017..734c735926 100644
--- a/webpack/module/rules/collapse-spaces.ts
+++ b/webpack/module/rules/collapse-spaces.ts
@@ -1,20 +1,19 @@
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
- });
- }
- }]
- })
+ loader: 'string-replace-loader',
+ query: {
+ search: /^<template>([\s\S]+?)\r?\n<\/template>/,
+ replace: html => {
+ return minify(html, {
+ collapseWhitespace: true,
+ collapseInlineTagWhitespace: true,
+ keepClosingSlash: true
+ });
+ }
+ }
});
diff --git a/webpack/module/rules/fa.ts b/webpack/module/rules/fa.ts
index 56ca19d4b4..2ac89ce4f8 100644
--- a/webpack/module/rules/fa.ts
+++ b/webpack/module/rules/fa.ts
@@ -8,11 +8,9 @@ export default () => ({
enforce: 'pre',
test: /\.(vue|js|ts)$/,
exclude: /node_modules/,
- use: [{
- loader: 'replace-string-loader',
- options: {
- search: pattern,
- replace: replacement
- }
- }]
+ loader: 'string-replace-loader',
+ query: {
+ search: pattern,
+ replace: replacement
+ }
});
diff --git a/webpack/module/rules/i18n.ts b/webpack/module/rules/i18n.ts
index 1bd771f43b..2352a42be0 100644
--- a/webpack/module/rules/i18n.ts
+++ b/webpack/module/rules/i18n.ts
@@ -11,12 +11,10 @@ export default lang => {
enforce: 'pre',
test: /\.(vue|js|ts)$/,
exclude: /node_modules/,
- use: [{
- loader: 'replace-string-loader',
- options: {
- search: replacer.pattern,
- replace: replacer.replacement
- }
- }]
+ loader: 'string-replace-loader',
+ query: {
+ search: replacer.pattern,
+ replace: replacer.replacement
+ }
};
};
diff --git a/webpack/module/rules/index.ts b/webpack/module/rules/index.ts
index c4442b06cd..1ddebacffa 100644
--- a/webpack/module/rules/index.ts
+++ b/webpack/module/rules/index.ts
@@ -1,18 +1,16 @@
import i18n from './i18n';
import fa from './fa';
//import base64 from './base64';
-import themeColor from './theme-color';
import vue from './vue';
import stylus from './stylus';
import typescript from './typescript';
import collapseSpaces from './collapse-spaces';
export default lang => [
- collapseSpaces(),
- i18n(lang),
- fa(),
+ //collapseSpaces(),
+ //i18n(lang),
+ //fa(),
//base64(),
- themeColor(),
vue(),
stylus(),
typescript()
diff --git a/webpack/module/rules/theme-color.ts b/webpack/module/rules/theme-color.ts
deleted file mode 100644
index 4828e00ec7..0000000000
--- a/webpack/module/rules/theme-color.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Theme color provider
- */
-
-const constants = require('../../../src/const.json');
-
-export default () => ({
- enforce: 'pre',
- test: /\.vue$/,
- exclude: /node_modules/,
- use: [{
- loader: 'replace-string-loader',
- options: {
- search: '$theme-color-foreground',
- replace: constants.themeColorForeground,
- flags: 'g'
- }
- }, {
- loader: 'replace-string-loader',
- options: {
- search: '$theme-color',
- replace: constants.themeColor,
- flags: 'g'
- }
- }]
-});
diff --git a/webpack/module/rules/vue.ts b/webpack/module/rules/vue.ts
index 02d644615c..990f839915 100644
--- a/webpack/module/rules/vue.ts
+++ b/webpack/module/rules/vue.ts
@@ -2,12 +2,30 @@
* Vue
*/
+const constants = require('../../../src/const.json');
+
export default () => ({
test: /\.vue$/,
exclude: /node_modules/,
- loader: 'vue-loader',
- options: {
- cssSourceMap: false,
- preserveWhitespace: false
- }
+ use: [{
+ loader: 'vue-loader',
+ options: {
+ cssSourceMap: false,
+ preserveWhitespace: false
+ }
+ }, {
+ loader: 'webpack-replace-loader',
+ options: {
+ search: '$theme-color',
+ replace: constants.themeColor,
+ attr: 'g'
+ }
+ }, {
+ loader: 'webpack-replace-loader',
+ query: {
+ search: '$theme-color-foreground',
+ replace: constants.themeColorForeground,
+ attr: 'g'
+ }
+ }]
});