From c827ac6b1fa3282821c54eec30f16fcdc3b85870 Mon Sep 17 00:00:00 2001 From: "create-issue-branch[bot]" <53036503+create-issue-branch[bot]@users.noreply.github.com> Date: Mon, 11 Mar 2024 18:09:00 +0000 Subject: [PATCH 1/5] Create draft PR for #910 From b75f5974353796e2823dec2040cb8ab24c0f8a0c Mon Sep 17 00:00:00 2001 From: Conor Date: Wed, 13 Mar 2024 12:39:44 +0000 Subject: [PATCH 2/5] update regex to prevent substring match --- src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx b/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx index b2868330c..3a9e379e2 100644 --- a/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx +++ b/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx @@ -108,9 +108,11 @@ function HtmlRunner() { var updatedProjectFile = { ...projectFile }; if (projectFile.extension === "css") { projectImages.forEach((image) => { + const find = new RegExp(`['"(\s]${image.filename}['")\s])`, "g"); // prevent substring matches + const replace = `"${image.url}"`; updatedProjectFile.content = updatedProjectFile.content.replaceAll( - image.filename, - image.url, + find, + replace, ); }); } From 05934957b460e1e56e53f69366b4b9e00e80d7be Mon Sep 17 00:00:00 2001 From: Conor Date: Wed, 13 Mar 2024 12:40:19 +0000 Subject: [PATCH 3/5] change log --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 08ebf708e..1a0fe48f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Allow `pygal` `chart.add` function to take single values as well as an array (#954) - Editor losing focus when project changes (#959) - Fix preview link (#912) +- Fix substring match on CSS images (#910) ## [0.22.1] - 2024-02-23 From 3dd0a8517889cfb9ec36daa96c0c205b0194ba2c Mon Sep 17 00:00:00 2001 From: Conor Date: Wed, 13 Mar 2024 12:43:29 +0000 Subject: [PATCH 4/5] make github happy --- src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx b/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx index 3a9e379e2..a1f1e97f0 100644 --- a/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx +++ b/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx @@ -108,7 +108,7 @@ function HtmlRunner() { var updatedProjectFile = { ...projectFile }; if (projectFile.extension === "css") { projectImages.forEach((image) => { - const find = new RegExp(`['"(\s]${image.filename}['")\s])`, "g"); // prevent substring matches + const find = new RegExp(`['"(]${image.filename}['")])`, "g"); // prevent substring matches const replace = `"${image.url}"`; updatedProjectFile.content = updatedProjectFile.content.replaceAll( find, From 9400e073ccf553a4029d6c70588ac0afe0d9ffd8 Mon Sep 17 00:00:00 2001 From: Conor Date: Wed, 13 Mar 2024 12:46:33 +0000 Subject: [PATCH 5/5] simplify --- src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx b/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx index a1f1e97f0..9ff0179b2 100644 --- a/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx +++ b/src/components/Editor/Runners/HtmlRunner/HtmlRunner.jsx @@ -108,7 +108,7 @@ function HtmlRunner() { var updatedProjectFile = { ...projectFile }; if (projectFile.extension === "css") { projectImages.forEach((image) => { - const find = new RegExp(`['"(]${image.filename}['")])`, "g"); // prevent substring matches + const find = new RegExp(`['"]${image.filename}['"]`, "g"); // prevent substring matches const replace = `"${image.url}"`; updatedProjectFile.content = updatedProjectFile.content.replaceAll( find,