Ghost/apps/sodo-search/src
Mark Stosberg 7fa083d774
🐛 Fixed escaping search terms that contain special characters (#18151)
fixes https://github.com/TryGhost/Ghost/issues/18133

Before, Sodo Search was not escaping search input before using the search terms in a regular expression, so using special characters could result in an invalid regular expression which would crash JavaScript.

As regular expressions date back to Perl, so does a standard solution for this, which called quotemeta in Perl. It doesn't exist 1:1 in JavaScript, but StackOverflow had the answer: stackoverflow.com/questions/6318710/javascript-equivalent-of-perls-q-e-or-quotemeta

So a line of code is added to escape the special characters in the regex for passing them through. This is the same code that the quotemeta module on NPM would use.
2023-09-20 10:17:21 +02:00
..
components 🐛 Fixed escaping search terms that contain special characters (#18151) 2023-09-20 10:17:21 +02:00
icons Moved Sodo-Search into apps/ 2023-06-14 12:10:57 +02:00
App.css Moved Sodo-Search into apps/ 2023-06-14 12:10:57 +02:00
App.js Moved Sodo-Search into apps/ 2023-06-14 12:10:57 +02:00
App.test.js Updated ESLint config for React+Typescript packages 2023-07-27 11:40:31 +02:00
AppContext.js Updated ESLint config for React+Typescript packages 2023-07-27 11:40:31 +02:00
index.css Moved Sodo-Search into apps/ 2023-06-14 12:10:57 +02:00
index.js Moved Sodo-Search into apps/ 2023-06-14 12:10:57 +02:00
logo.svg Moved Sodo-Search into apps/ 2023-06-14 12:10:57 +02:00
search-index.js Converted CRA packages to Vite 2023-07-27 09:43:35 +02:00
search-index.test.js Converted CRA packages to Vite 2023-07-27 09:43:35 +02:00
setupTests.js Converted CRA packages to Vite 2023-07-27 09:43:35 +02:00