From 90aeac605e0d64b8c1639ad70d5a58cafe4f6d77 Mon Sep 17 00:00:00 2001 From: "D.A.Bashkirtsev" Date: Tue, 27 Nov 2018 22:11:03 +0500 Subject: [PATCH 1/3] Fix getAndRemoveConfig regex Update getAndRemoveConfig regular expression for prevent cases, when header has name like "foo::bar::baz". --- src/core/render/compiler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/render/compiler.js b/src/core/render/compiler.js index e1cd9bf4c..6452384e6 100644 --- a/src/core/render/compiler.js +++ b/src/core/render/compiler.js @@ -19,7 +19,7 @@ export function getAndRemoveConfig(str = '') { str = str .replace(/^'/, '') .replace(/'$/, '') - .replace(/:([\w-]+)=?([\w-]+)?/g, (m, key, value) => { + .replace(/:([\w-]+)=?([\w-]+)?(?=\s)/g, (m, key, value) => { config[key] = (value && value.replace(/"/g, '')) || true return '' }) From 64e8f2607cf773bbe7e5ce0bb1a6b0da0e433bc2 Mon Sep 17 00:00:00 2001 From: "D.A.Bashkirtsev" Date: Tue, 27 Nov 2018 22:26:51 +0500 Subject: [PATCH 2/3] Fix wrong regexp --- src/core/render/compiler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/render/compiler.js b/src/core/render/compiler.js index 6452384e6..02849a20a 100644 --- a/src/core/render/compiler.js +++ b/src/core/render/compiler.js @@ -19,7 +19,7 @@ export function getAndRemoveConfig(str = '') { str = str .replace(/^'/, '') .replace(/'$/, '') - .replace(/:([\w-]+)=?([\w-]+)?(?=\s)/g, (m, key, value) => { + .replace(/\s:([\w-]+)=?([\w-]+)?/g, (m, key, value) => { config[key] = (value && value.replace(/"/g, '')) || true return '' }) From eef14a47430965184f788f9806d0d6a2c8739b75 Mon Sep 17 00:00:00 2001 From: "D.A.Bashkirtsev" Date: Tue, 27 Nov 2018 22:37:56 +0500 Subject: [PATCH 3/3] Fix regex Ignore `:foo` cases --- src/core/render/compiler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/render/compiler.js b/src/core/render/compiler.js index 02849a20a..9d6536d0f 100644 --- a/src/core/render/compiler.js +++ b/src/core/render/compiler.js @@ -19,7 +19,7 @@ export function getAndRemoveConfig(str = '') { str = str .replace(/^'/, '') .replace(/'$/, '') - .replace(/\s:([\w-]+)=?([\w-]+)?/g, (m, key, value) => { + .replace(/(?:^|\s):([\w-]+)=?([\w-]+)?/g, (m, key, value) => { config[key] = (value && value.replace(/"/g, '')) || true return '' })