summaryrefslogtreecommitdiff
path: root/webpack/module/rules
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2017-12-17 14:35:30 +0900
committersyuilo <syuilotan@yahoo.co.jp>2017-12-17 14:35:30 +0900
commitd4fb399c95c65e4a6805e02074b8e5cc754a3822 (patch)
tree4901d6b8828aada8275feb4787fcede57eb0bd27 /webpack/module/rules
parentUpdate api.ja.pug (diff)
downloadsharkey-d4fb399c95c65e4a6805e02074b8e5cc754a3822.tar.gz
sharkey-d4fb399c95c65e4a6805e02074b8e5cc754a3822.tar.bz2
sharkey-d4fb399c95c65e4a6805e02074b8e5cc754a3822.zip
なんかもうめっちゃ変えた
Diffstat (limited to 'webpack/module/rules')
-rw-r--r--webpack/module/rules/fa.ts47
-rw-r--r--webpack/module/rules/i18n.ts33
-rw-r--r--webpack/module/rules/index.ts4
3 files changed, 8 insertions, 76 deletions
diff --git a/webpack/module/rules/fa.ts b/webpack/module/rules/fa.ts
index 47c72a28a1..891b78ece2 100644
--- a/webpack/module/rules/fa.ts
+++ b/webpack/module/rules/fa.ts
@@ -3,16 +3,7 @@
*/
const StringReplacePlugin = require('string-replace-webpack-plugin');
-
-import * as fontawesome from '@fortawesome/fontawesome';
-import * as regular from '@fortawesome/fontawesome-free-regular';
-import * as solid from '@fortawesome/fontawesome-free-solid';
-import * as brands from '@fortawesome/fontawesome-free-brands';
-
-// Add icons
-fontawesome.library.add(regular);
-fontawesome.library.add(solid);
-fontawesome.library.add(brands);
+import { pattern, replacement } from '../../../src/common/build/fa';
export default () => ({
enforce: 'pre',
@@ -20,41 +11,7 @@ export default () => ({
exclude: /node_modules/,
loader: StringReplacePlugin.replace({
replacements: [{
- pattern: /%fa:(.+?)%/g, replacement: (_, key) => {
- const args = key.split(' ');
- let prefix = 'fas';
- const classes = [];
- let transform = '';
- let name;
-
- args.forEach(arg => {
- if (arg == 'R' || arg == 'S' || arg == 'B') {
- prefix =
- arg == 'R' ? 'far' :
- arg == 'S' ? 'fas' :
- arg == 'B' ? 'fab' :
- '';
- } else if (arg[0] == '.') {
- classes.push('fa-' + arg.substr(1));
- } else if (arg[0] == '-') {
- transform = arg.substr(1).split('|').join(' ');
- } else {
- name = arg;
- }
- });
-
- const icon = fontawesome.icon({ prefix, iconName: name }, {
- classes: classes
- });
-
- if (icon) {
- icon.transform = fontawesome.parse.transform(transform);
- return `<i data-fa class="${name}">${icon.html[0]}</i>`;
- } else {
- console.warn(`'${name}' not found in fa`);
- return '';
- }
- }
+ pattern, replacement
}]
})
});
diff --git a/webpack/module/rules/i18n.ts b/webpack/module/rules/i18n.ts
index aa4e58448f..7261548be5 100644
--- a/webpack/module/rules/i18n.ts
+++ b/webpack/module/rules/i18n.ts
@@ -3,28 +3,10 @@
*/
const StringReplacePlugin = require('string-replace-webpack-plugin');
+import Replacer from '../../../src/common/build/i18n';
-export default (lang, locale) => {
- function get(key: string) {
- let text = locale;
-
- // Check the key existance
- const error = key.split('.').some(k => {
- if (text.hasOwnProperty(k)) {
- text = text[k];
- return false;
- } else {
- return true;
- }
- });
-
- if (error) {
- console.warn(`key '${key}' not found in '${lang}'`);
- return key; // Fallback
- } else {
- return text;
- }
- }
+export default lang => {
+ const replacer = new Replacer(lang);
return {
enforce: 'pre',
@@ -32,14 +14,7 @@ export default (lang, locale) => {
exclude: /node_modules/,
loader: StringReplacePlugin.replace({
replacements: [{
- pattern: /"%i18n:(.+?)%"/g, replacement: (_, key) =>
- '"' + get(key).replace(/"/g, '\\"') + '"'
- }, {
- pattern: /'%i18n:(.+?)%'/g, replacement: (_, key) =>
- '\'' + get(key).replace(/'/g, '\\\'') + '\''
- }, {
- pattern: /%i18n:(.+?)%/g, replacement: (_, key) =>
- get(key)
+ pattern: replacer.pattern, replacement: replacer.replacement
}]
})
};
diff --git a/webpack/module/rules/index.ts b/webpack/module/rules/index.ts
index b6a0a5e2ec..b02bdef723 100644
--- a/webpack/module/rules/index.ts
+++ b/webpack/module/rules/index.ts
@@ -7,8 +7,8 @@ import tag from './tag';
import stylus from './stylus';
import typescript from './typescript';
-export default (lang, locale) => [
- i18n(lang, locale),
+export default lang => [
+ i18n(lang),
license(),
fa(),
base64(),