From 2f3ece21458419f67a121cd05bdbf5476ac64e72 Mon Sep 17 00:00:00 2001 From: Maksim Sukharev Date: Tue, 11 Feb 2025 10:40:18 +0100 Subject: [PATCH] revert: import remark-gfm library in NcRichText as module, not async This reverts commit 49ce673235268a63e765859caeabec6800dba136. Signed-off-by: Maksim Sukharev --- src/components/NcRichText/NcRichText.vue | 32 ++----------------- .../components/NcRichText/NcRichText.spec.js | 2 -- 2 files changed, 3 insertions(+), 31 deletions(-) diff --git a/src/components/NcRichText/NcRichText.vue b/src/components/NcRichText/NcRichText.vue index 39491c9c42..5a83875260 100644 --- a/src/components/NcRichText/NcRichText.vue +++ b/src/components/NcRichText/NcRichText.vue @@ -305,7 +305,6 @@ See [NcRichContenteditable](#/Components/NcRichContenteditable) documentation fo import { ref } from 'vue' import NcReferenceList from './NcReferenceList.vue' import NcCheckboxRadioSwitch from '../NcCheckboxRadioSwitch/NcCheckboxRadioSwitch.vue' -import NcLoadingIcon from '../NcLoadingIcon/NcLoadingIcon.vue' import { getRoute, remarkAutolink } from './autolink.js' import { remarkPlaceholder, prepareTextNode } from './placeholder.js' import { remarkUnescape } from './remarkUnescape.js' @@ -313,6 +312,7 @@ import GenRandomId from '../../utils/GenRandomId.js' import { unified } from 'unified' import remarkParse from 'remark-parse' +import remarkGfm from 'remark-gfm' import breaks from 'remark-breaks' import remark2rehype from 'remark-rehype' import rehype2react from 'rehype-react' @@ -322,15 +322,6 @@ import { RouterLink } from 'vue-router' /** * Heavy libraries should be loaded on demand to reduce component size */ -const remarkGfm = ref(null) -/** - * Load 'remark-gfm' library when prop `useExtendedMarkdown` is truthy - */ -async function importRemarkGfmLibrary() { - const module = await import('remark-gfm') - remarkGfm.value = module.default -} - const rehypeHighlight = ref(null) /** * Load 'rehype-highlight' library when code block is rendered with `useExtendedMarkdown` @@ -401,17 +392,6 @@ export default { } }, - watch: { - useExtendedMarkdown: { - handler(value) { - if (value && !remarkGfm.value) { - importRemarkGfmLibrary() - } - }, - immediate: true, - }, - }, - methods: { renderPlaintext(h) { const context = this @@ -461,7 +441,7 @@ export default { useExtendedMarkdown: this.useExtendedMarkdown, }) .use(remarkUnescape) - .use(this.useExtendedMarkdown ? remarkGfm.value : undefined) + .use(this.useExtendedMarkdown ? remarkGfm : undefined) .use(breaks) .use(remark2rehype, { handlers: { @@ -479,7 +459,7 @@ export default { .use(rehype2react, { createElement: (tag, attrs, children) => { if (!tag.startsWith('#')) { - if (this.useExtendedMarkdown && remarkGfm.value) { + if (this.useExtendedMarkdown) { if (tag === 'code' && !rehypeHighlight.value && attrs?.attrs?.class?.includes('language')) { importRehypeHighlightLibrary() @@ -561,12 +541,6 @@ export default { ) .result - if (this.useExtendedMarkdown && !remarkGfm.value) { - return h('div', { class: 'rich-text--wrapper' }, [ - h(NcLoadingIcon), - ]) - } - return h('div', { class: 'rich-text--wrapper rich-text--wrapper-markdown' }, [ renderedMarkdown, this.referenceLimit > 0 diff --git a/tests/unit/components/NcRichText/NcRichText.spec.js b/tests/unit/components/NcRichText/NcRichText.spec.js index 135c544985..84bbf0a06e 100644 --- a/tests/unit/components/NcRichText/NcRichText.spec.js +++ b/tests/unit/components/NcRichText/NcRichText.spec.js @@ -202,8 +202,6 @@ describe('NcRichText', () => { interactive: true, }, }) - await nextTick() - await nextTick() expect(wrapper.text()).toEqual('task item') const checkbox = wrapper.findComponent({ name: 'NcCheckboxRadioSwitch' }) expect(checkbox.exists()).toBeTruthy()