From d05b6c17c55314c6765f6b133b9d968a67d87944 Mon Sep 17 00:00:00 2001 From: Oj Date: Sun, 20 Jun 2021 12:16:56 +0100 Subject: [PATCH] [*Theme] Escape $, move escaping to generic instead of in each preproc --- src/preprocessors/bdTheme.js | 14 +++++++------- src/preprocessors/genericTheme.js | 4 +++- src/preprocessors/pcTheme.js | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/preprocessors/bdTheme.js b/src/preprocessors/bdTheme.js index 79112e5..15f96a9 100644 --- a/src/preprocessors/bdTheme.js +++ b/src/preprocessors/bdTheme.js @@ -1,13 +1,13 @@ import { readFileSync, writeFileSync, mkdirSync, rmSync } from 'fs'; export default (themePath, repo) => { - const content = readFileSync(themePath); - + const content = readFileSync(themePath, 'utf8'); + const metaReg = /@([^ ]*) (.*)/g; let manifest = { main: 'index.js', - tags: ['theme', 'port'] + tags: ['theme', 'port'], }; let match; @@ -17,7 +17,7 @@ export default (themePath, repo) => { value = value.trim(); -// console.log(key, value); + // console.log(key, value); switch (key) { case 'name': @@ -33,11 +33,11 @@ export default (themePath, repo) => { break; case 'author': - manifest.authors = [ value ]; + manifest.authors = [value]; break; case 'authorId': - manifest.authors = [ value ]; + manifest.authors = [value]; break; } } @@ -59,7 +59,7 @@ export default { ) ); }, - + onRemove: async () => { style.remove(); }, diff --git a/src/preprocessors/genericTheme.js b/src/preprocessors/genericTheme.js index 3c44600..9a5bf7f 100644 --- a/src/preprocessors/genericTheme.js +++ b/src/preprocessors/genericTheme.js @@ -55,7 +55,9 @@ const discordVars = [ '--deprecated-text-input-prefix', ]; -export default (manifest, content, repo) => { +export default (manifest, _content, repo) => { + const content = _content.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$/g, '\\$'); + let variables = content.match(/--([^*!\n}]*): ([^*!\n}]*);/g) || []; if (variables.length > 0) variables = variables.map((x) => { diff --git a/src/preprocessors/pcTheme.js b/src/preprocessors/pcTheme.js index a06e8ae..9e1d771 100644 --- a/src/preprocessors/pcTheme.js +++ b/src/preprocessors/pcTheme.js @@ -27,7 +27,7 @@ export default (manifestPath, repo) => { pcManifest.theme = cssPath; } - const content = readFileSync(pcManifest.theme, 'utf8').replace(/\\/g, '\\\\').replace(/`/g, '\\`'); + const content = readFileSync(pcManifest.theme, 'utf8'); const jsCode = `// Generated by MS2Builder - pcTheme preprocessor / porter let style;