diff --git a/src/components/CodeEmbed/frame.tsx b/src/components/CodeEmbed/frame.tsx
index 514ddc7fbc..75c94ef235 100644
--- a/src/components/CodeEmbed/frame.tsx
+++ b/src/components/CodeEmbed/frame.tsx
@@ -146,7 +146,7 @@ export const CodeFrame = (props: CodeFrameProps) => {
         return;
       }
     })();
-  }, [props.jsCode, mounted]);
+  }, [props.jsCode, mounted,p5ScriptTag]);
 
   return (
     <div
diff --git a/src/components/SearchProvider/index.tsx b/src/components/SearchProvider/index.tsx
index e035bd2637..e143eb085e 100644
--- a/src/components/SearchProvider/index.tsx
+++ b/src/components/SearchProvider/index.tsx
@@ -30,30 +30,7 @@ const SearchProvider = ({
   const [results, setResults] = useState<SearchResult[]>([]);
 
   // Flattens the search index data
-  const flattenData = (data: FuseResult<SearchResult>) => {
-    const flatData: SearchResult[] = [];
-    let flatId = 0;
-    Object.entries(data).forEach(([category, entries]) => {
-      Object.entries(entries).forEach(([title, docDetails]) => {
-        // Since we are generating these links with Javascript and the
-        // middleware doesn't prefix the locale automatically, we need to
-        // do it manually here.
-        const relativeUrl =
-          currentLocale === defaultLocale
-            ? docDetails.relativeUrl
-            : `/${currentLocale}${docDetails.relativeUrl}`;
-        docDetails.relativeUrl = relativeUrl;
-        flatData.push({
-          id: flatId++,
-          category: category.replace("-fallback", ""),
-          title,
-          ...docDetails,
-        });
-      });
-    });
-
-    return flatData;
-  };
+  
 
   // Read the search term from query params on first load
   useEffect(() => {
@@ -80,6 +57,30 @@ const SearchProvider = ({
     }
 
     if (!searchTerm) return;
+    const flattenData = (data: FuseResult<SearchResult>) => {
+      const flatData: SearchResult[] = [];
+      let flatId = 0;
+      Object.entries(data).forEach(([category, entries]) => {
+        Object.entries(entries).forEach(([title, docDetails]) => {
+          // Since we are generating these links with Javascript and the
+          // middleware doesn't prefix the locale automatically, we need to
+          // do it manually here.
+          const relativeUrl =
+            currentLocale === defaultLocale
+              ? docDetails.relativeUrl
+              : `/${currentLocale}${docDetails.relativeUrl}`;
+          docDetails.relativeUrl = relativeUrl;
+          flatData.push({
+            id: flatId++,
+            category: category.replace("-fallback", ""),
+            title,
+            ...docDetails,
+          });
+        });
+      });
+  
+      return flatData;
+    };
 
     let flatData;
 
diff --git a/src/pages/_utils-node.ts b/src/pages/_utils-node.ts
index e61170330d..063b96104f 100644
--- a/src/pages/_utils-node.ts
+++ b/src/pages/_utils-node.ts
@@ -75,7 +75,7 @@ export const rewriteRelativeLink = (url: string): string => {
     !updatedUrl.endsWith('/') &&
     !/(\.\w+)$/.exec(updatedUrl) &&
     !updatedUrl.includes('?') &&
-    !/#([\w\-]+)$/.exec(updatedUrl)
+    !/#([\w-]+)$/.exec(updatedUrl)
   ) {
     updatedUrl += '/';
   }
diff --git a/src/scripts/branchTest.ts b/src/scripts/branchTest.ts
index 601d11f76c..527b265138 100644
--- a/src/scripts/branchTest.ts
+++ b/src/scripts/branchTest.ts
@@ -26,7 +26,7 @@ currentEnv = currentEnv
   .split('\n')
   .filter((line: string) => !line.startsWith('P5_') && !line.startsWith('PUBLIC_P5_'))
   .join('\n')
-writeFileSync(envFilePath, currentEnv + '\n' + envVars.join('\n'));
+writeFileSync(envFilePath, `${currentEnv  }\n${  envVars.join('\n')}`);
 
 // First delete the existing cloned p5 to make sure we clone fresh
 const parsedP5Path = path.join(__dirname, "./parsers/in/p5.js/");
diff --git a/src/scripts/builders/contribute.ts b/src/scripts/builders/contribute.ts
index ced634d6b5..f99b72d626 100644
--- a/src/scripts/builders/contribute.ts
+++ b/src/scripts/builders/contribute.ts
@@ -259,9 +259,9 @@ const moveContentDirectory = async (
 const buildContributorDocs = async () => {
   console.log("Building contributor docs...");
 
-  let latestRelease = p5Version;
+  let latestRelease:string = p5Version;
   if (/^\d+\.\d+\.\d+$/.exec(latestRelease)) {
-    latestRelease = 'v' + latestRelease;
+    latestRelease = `v${  latestRelease}`;
   }
 
   await cloneLibraryRepo(clonedRepoPath, docsRepoUrl, latestRelease);
diff --git a/src/scripts/builders/reference.ts b/src/scripts/builders/reference.ts
index d72954c418..cf724c9150 100644
--- a/src/scripts/builders/reference.ts
+++ b/src/scripts/builders/reference.ts
@@ -208,7 +208,7 @@ const correctRelativeLinksInDescription = (description: string | undefined) => {
       !href.endsWith('/') &&
       !/(\.\w+)$/.exec(href) &&
       !href.includes('?') &&
-      !/#([\w\-]+)$/.exec(href)
+      !/#([\w-]+)$/.exec(href)
     ) {
       href += '/';
     }
diff --git a/src/scripts/parsers/reference.ts b/src/scripts/parsers/reference.ts
index f49ae0bc21..c9b470c2be 100644
--- a/src/scripts/parsers/reference.ts
+++ b/src/scripts/parsers/reference.ts
@@ -22,9 +22,9 @@ const parsersOutPath = path.join(__dirname, "out");
  */
 export const parseLibraryReference =
   async (): Promise<ParsedLibraryReference | null> => {
-    let latestRelease = p5Version;
+    let latestRelease:string = p5Version;
     if (/^\d+\.\d+\.\d+$/.exec(latestRelease)) {
-      latestRelease = 'v' + latestRelease;
+      latestRelease = `v${  latestRelease}`;
     }
 
     const useExternalP5Sound = !!process.env.P5_REPO_BRANCH ||
@@ -44,7 +44,7 @@ export const parseLibraryReference =
     // If we're using a custom build of p5 instead of a public release, create
     // a build and copy it to the specified path
     if (process.env.PUBLIC_P5_LIBRARY_PATH) {
-      await createP5Build('p5.js', '../../../public' + process.env.PUBLIC_P5_LIBRARY_PATH);
+      await createP5Build('p5.js', `../../../public${  process.env.PUBLIC_P5_LIBRARY_PATH}`);
     }
 
     // Copy the reference output so we can process it
@@ -67,7 +67,7 @@ export const parseLibraryReference =
 
       // Fix p5.sound classes
       for (const key in soundData.classes) {
-        const newName = 'p5.' + soundData.classes[key].name;
+        const newName = `p5.${  soundData.classes[key].name}`;
         const updated = {
           ...soundData.classes[key],
           name: newName,
@@ -76,7 +76,7 @@ export const parseLibraryReference =
         delete soundData.classes[key];
       }
       for (const item of soundData.classitems) {
-        item.class = 'p5.' + item.class;
+        item.class = `p5.${  item.class}`;
       }
 
       result = await combineYuidocData(
diff --git a/src/scripts/utils.ts b/src/scripts/utils.ts
index f6aebd25c0..10a7825681 100644
--- a/src/scripts/utils.ts
+++ b/src/scripts/utils.ts
@@ -6,11 +6,11 @@ import { fileURLToPath } from "url";
 import { rewriteRelativeLink } from "../pages/_utils-node";
 import { p5Version } from "../globals/p5-version";
 
-let latestRelease = p5Version;
+let latestRelease:string = p5Version;
 // If the latest release is a version number (e.g. 1.10.0) without a 'v'
 // prefix, add the v prefix
 if (/^\d+\.\d+\.\d+$/.exec(latestRelease)) {
-  latestRelease = 'v' + latestRelease;
+  latestRelease = `v${  latestRelease}`;
 }
 
 export const p5RepoUrl = "https://github.com/processing/p5.js.git";
@@ -295,7 +295,7 @@ export const rewriteRelativeMdLinks = (markdownText: string): string => {
    * 1. Text for the link
    * 2. Link url (but not the .md extension at the end)
    */
-  const regexPattern: RegExp = /(\!?)\[([^\]]+)\]\(([^\)]+)\)/g;
+  const regexPattern: RegExp = /(!?)\[([^\]]+)\]\(([^)]+)\)/g;
   return markdownText.replace(regexPattern, (match, img, linkText, url: string) => {
     // Don't convert images
     if (img) return match;