move to cheerio as server side rendering does not support DOMParser
This commit is contained in:
		
							
								
								
									
										3077
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										3077
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -23,6 +23,7 @@
 | 
			
		||||
	"dependencies": {
 | 
			
		||||
		"@sveltejs/adapter-node": "^1.3.1",
 | 
			
		||||
		"argon2": "^0.30.3",
 | 
			
		||||
		"cheerio": "1.0.0-rc.12",
 | 
			
		||||
		"jsonwebtoken": "^9.0.1",
 | 
			
		||||
		"mongoose": "^7.4.0",
 | 
			
		||||
		"sharp": "^0.32.3",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										108
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										108
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							@@ -11,6 +11,9 @@ dependencies:
 | 
			
		||||
  argon2:
 | 
			
		||||
    specifier: ^0.30.3
 | 
			
		||||
    version: 0.30.3
 | 
			
		||||
  cheerio:
 | 
			
		||||
    specifier: 1.0.0-rc.12
 | 
			
		||||
    version: 1.0.0-rc.12
 | 
			
		||||
  jsonwebtoken:
 | 
			
		||||
    specifier: ^9.0.1
 | 
			
		||||
    version: 9.0.1
 | 
			
		||||
@@ -544,6 +547,10 @@ packages:
 | 
			
		||||
      readable-stream: 3.6.2
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /boolbase@1.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /brace-expansion@1.1.11:
 | 
			
		||||
    resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
@@ -599,6 +606,30 @@ packages:
 | 
			
		||||
    engines: {node: '>=6'}
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /cheerio-select@2.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      boolbase: 1.0.0
 | 
			
		||||
      css-select: 5.1.0
 | 
			
		||||
      css-what: 6.1.0
 | 
			
		||||
      domelementtype: 2.3.0
 | 
			
		||||
      domhandler: 5.0.3
 | 
			
		||||
      domutils: 3.1.0
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /cheerio@1.0.0-rc.12:
 | 
			
		||||
    resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==}
 | 
			
		||||
    engines: {node: '>= 6'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      cheerio-select: 2.1.0
 | 
			
		||||
      dom-serializer: 2.0.0
 | 
			
		||||
      domhandler: 5.0.3
 | 
			
		||||
      domutils: 3.1.0
 | 
			
		||||
      htmlparser2: 8.0.2
 | 
			
		||||
      parse5: 7.1.2
 | 
			
		||||
      parse5-htmlparser2-tree-adapter: 7.0.0
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /chokidar@3.5.3:
 | 
			
		||||
    resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
 | 
			
		||||
    engines: {node: '>= 8.10.0'}
 | 
			
		||||
@@ -669,6 +700,21 @@ packages:
 | 
			
		||||
    resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
 | 
			
		||||
    engines: {node: '>= 0.6'}
 | 
			
		||||
 | 
			
		||||
  /css-select@5.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      boolbase: 1.0.0
 | 
			
		||||
      css-what: 6.1.0
 | 
			
		||||
      domhandler: 5.0.3
 | 
			
		||||
      domutils: 3.1.0
 | 
			
		||||
      nth-check: 2.1.1
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /css-what@6.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
 | 
			
		||||
    engines: {node: '>= 6'}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /debug@4.3.4:
 | 
			
		||||
    resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
 | 
			
		||||
    engines: {node: '>=6.0'}
 | 
			
		||||
@@ -713,6 +759,33 @@ packages:
 | 
			
		||||
  /devalue@4.3.2:
 | 
			
		||||
    resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
 | 
			
		||||
 | 
			
		||||
  /dom-serializer@2.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      domelementtype: 2.3.0
 | 
			
		||||
      domhandler: 5.0.3
 | 
			
		||||
      entities: 4.5.0
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /domelementtype@2.3.0:
 | 
			
		||||
    resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /domhandler@5.0.3:
 | 
			
		||||
    resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
 | 
			
		||||
    engines: {node: '>= 4'}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      domelementtype: 2.3.0
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /domutils@3.1.0:
 | 
			
		||||
    resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      dom-serializer: 2.0.0
 | 
			
		||||
      domelementtype: 2.3.0
 | 
			
		||||
      domhandler: 5.0.3
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /ecdsa-sig-formatter@1.0.11:
 | 
			
		||||
    resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
@@ -729,6 +802,11 @@ packages:
 | 
			
		||||
      once: 1.4.0
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /entities@4.5.0:
 | 
			
		||||
    resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
 | 
			
		||||
    engines: {node: '>=0.12'}
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /es6-promise@3.3.1:
 | 
			
		||||
    resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
 | 
			
		||||
    dev: true
 | 
			
		||||
@@ -889,6 +967,15 @@ packages:
 | 
			
		||||
      function-bind: 1.1.1
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /htmlparser2@8.0.2:
 | 
			
		||||
    resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      domelementtype: 2.3.0
 | 
			
		||||
      domhandler: 5.0.3
 | 
			
		||||
      domutils: 3.1.0
 | 
			
		||||
      entities: 4.5.0
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /https-proxy-agent@5.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
 | 
			
		||||
    engines: {node: '>= 6'}
 | 
			
		||||
@@ -1054,6 +1141,7 @@ packages:
 | 
			
		||||
 | 
			
		||||
  /memory-pager@1.5.0:
 | 
			
		||||
    resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==}
 | 
			
		||||
    requiresBuild: true
 | 
			
		||||
    dev: false
 | 
			
		||||
    optional: true
 | 
			
		||||
 | 
			
		||||
@@ -1279,6 +1367,12 @@ packages:
 | 
			
		||||
      set-blocking: 2.0.0
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /nth-check@2.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      boolbase: 1.0.0
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /object-assign@4.1.1:
 | 
			
		||||
    resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
 | 
			
		||||
    engines: {node: '>=0.10.0'}
 | 
			
		||||
@@ -1296,6 +1390,19 @@ packages:
 | 
			
		||||
      callsites: 3.1.0
 | 
			
		||||
    dev: true
 | 
			
		||||
 | 
			
		||||
  /parse5-htmlparser2-tree-adapter@7.0.0:
 | 
			
		||||
    resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      domhandler: 5.0.3
 | 
			
		||||
      parse5: 7.1.2
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /parse5@7.1.2:
 | 
			
		||||
    resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
 | 
			
		||||
    dependencies:
 | 
			
		||||
      entities: 4.5.0
 | 
			
		||||
    dev: false
 | 
			
		||||
 | 
			
		||||
  /path-is-absolute@1.0.1:
 | 
			
		||||
    resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
 | 
			
		||||
    engines: {node: '>=0.10.0'}
 | 
			
		||||
@@ -1556,6 +1663,7 @@ packages:
 | 
			
		||||
 | 
			
		||||
  /sparse-bitfield@3.0.3:
 | 
			
		||||
    resolution: {integrity: sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==}
 | 
			
		||||
    requiresBuild: true
 | 
			
		||||
    dependencies:
 | 
			
		||||
      memory-pager: 1.5.0
 | 
			
		||||
    dev: false
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
// Function to strip HTML tags from a string
 | 
			
		||||
function stripHtmlTags(input) {
 | 
			
		||||
  const parser = new DOMParser();
 | 
			
		||||
  const doc = parser.parseFromString(input, 'text/html');
 | 
			
		||||
  const textContent = doc.body.textContent || "";
 | 
			
		||||
  return textContent;
 | 
			
		||||
import {load} from 'cheerio';
 | 
			
		||||
 | 
			
		||||
export function stripHtmlTags(input) {
 | 
			
		||||
  const $ = load(input)
 | 
			
		||||
  return $.text();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user