]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/core/renderer/markdown.service.ts
Lazy load emoji
[github/Chocobozzz/PeerTube.git] / client / src / app / core / renderer / markdown.service.ts
index 0fde3f99d114cd552f7bb15e62c8d53d28290ab5..edddb0a6621056e00bd88b70f04298d04344ee5a 100644 (file)
@@ -49,6 +49,8 @@ export class MarkdownService {
     completeMarkdownIt: { rules: COMPLETE_RULES, html: true }
   }
 
+  private emojiModule: any
+
   constructor (private htmlRenderer: HtmlRendererService) {}
 
   textMarkdownToHTML (markdown: string, withHtml = false, withEmoji = false) {
@@ -83,9 +85,11 @@ export class MarkdownService {
       this.markdownParsers[ name ] = await this.createMarkdownIt(config)
 
       if (withEmoji) {
-        // TODO: write types
-        const emoji = require('markdown-it-emoji/light')
-        this.markdownParsers[ name ].use(emoji)
+        if (!this.emojiModule) {
+          this.emojiModule = (await import('markdown-it-emoji/light')).default
+        }
+
+        this.markdownParsers[ name ].use(this.emojiModule)
       }
     }