diff --git a/package.json b/package.json index f002905..2e615b1 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "vue-gettext-compile": "./dist/bin/gettext_compile.js" }, "scripts": { + "prepare": "npm run build", "docs": "vuepress dev docs", "docs:build": "vuepress build docs -d distDocs", "docs:extract": "node --loader ts-node/esm ./scripts/gettext_extract.ts", diff --git a/scripts/embeddedJsExtractor.ts b/scripts/embeddedJsExtractor.ts index a3c8ad9..c8b2a0b 100644 --- a/scripts/embeddedJsExtractor.ts +++ b/scripts/embeddedJsExtractor.ts @@ -18,8 +18,14 @@ const getElementContent = (element: Element | Template, options: IContentOptions // text nodes within template tags don't get serialized properly, this is a hack if (element.tagName === "template") { const docFragment = treeAdapter.createDocumentFragment(); - (element as Template).content.childNodes.forEach((childNode: Node) => { - treeAdapter.appendChild(docFragment, childNode); + let childNodes + if (typeof (element as Template).content === "undefined") { + childNodes = (element as Template).childNodes + } else { + childNodes = (element as Template).content.childNodes + } + childNodes.forEach((childNode: Node) => { + treeAdapter.appendChild(docFragment, childNode); }); content = serialize(docFragment, {}); }