@ng-doc/utils 20.0.0-beta.1 → 20.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.esm.js +1 -0
- package/index.esm.js.map +1 -0
- package/package.json +9 -2
package/index.esm.js
CHANGED
package/index.esm.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../libs/utils/html/minify.ts","../../../libs/utils/html/helpers/attr-value.ts","../../../libs/utils/html/helpers/has-class.ts","../../../libs/utils/html/helpers/has-link-ancestor.ts","../../../libs/utils/html/helpers/is-code-block.ts","../../../libs/utils/html/helpers/is-code-node.ts","../../../libs/utils/html/helpers/is-element.ts","../../../libs/utils/html/helpers/is-heading.ts","../../../libs/utils/html/plugins/keywords.plugin.ts","../../../libs/utils/html/post-process-html.ts","../../../libs/utils/html/plugins/add-heading-anchors.plugin.ts","../../../libs/utils/html/plugins/highlight-code-lines.ts","../../../libs/utils/html/plugins/mark-elements.plugin.ts","../../../libs/utils/html/plugins/mermaid.plugin.ts","../../../libs/utils/html/plugins/slugger.plugin.ts","../../../libs/utils/html/plugins/table-wrapper.ts","../../../libs/utils/html/process-html.ts","../../../libs/utils/html/plugins/remove-not-indexable-content.plugin.ts","../../../libs/utils/html/remove-not-indexable-content.ts","../../../libs/utils/html/replace-keywords.ts","../../../libs/utils/html/stringify-entities.ts"],"sourcesContent":["import rehypeMinifyWhitespace from 'rehype-minify-whitespace';\nimport rehypeParse from 'rehype-parse';\nimport rehypeStringify from 'rehype-stringify';\nimport { unified } from 'unified';\n\n/**\n *\n * @param html\n */\nexport function minify(html: string): string {\n return unified()\n .use(rehypeParse, { fragment: true })\n .use(rehypeStringify)\n .use(rehypeMinifyWhitespace)\n .processSync(html)\n .toString();\n}\n","import { Element } from 'hast';\n\n/**\n *\n * @param node\n * @param attr\n */\nexport function attrValue(node: Element, attr: string): string | undefined {\n const attrKey: string = attr.toLowerCase();\n\n return node.properties?.[attrKey] ? String(node.properties[attrKey]) : undefined;\n}\n","import { Element } from 'hast';\n\n/**\n *\n * @param node\n * @param cls\n */\nexport function hasClass(node: Element, cls: string): boolean {\n const className: string = node.properties?.['className']?.toString() ?? '';\n\n return !!className && className.includes(cls);\n}\n","import { Element } from 'hast';\nimport { isElement } from 'hast-util-is-element';\n\n/**\n *\n * @param ancestors\n */\nexport function hasLinkAncestor(ancestors: Element[]): boolean {\n return ancestors.some((ancestor: Element) => isElement(ancestor, 'a'));\n}\n","import { Element, Root } from 'hast';\n\n/**\n *\n * @param parent\n * @param node\n */\nexport function isCodeBlock(parent: Root | Element | null, node: Element): node is Element {\n return parent?.type === 'element' && parent.tagName === 'pre' && node.tagName === 'code';\n}\n","import { Element } from 'hast';\nimport { isElement } from 'hast-util-is-element';\n\n/**\n *\n * @param node\n */\nexport function isCodeNode(node: Element): boolean {\n return isElement(node, 'code') || isElement(node, 'ng-doc-code');\n}\n","import { Content, Element } from 'hast';\n\n/**\n *\n * @param node\n */\nexport function isElement(node?: Content): node is Element {\n return node?.type === 'element';\n}\n","import { Element } from 'hast';\nimport { isElement } from 'hast-util-is-element';\n\nconst HEADINGS: string[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n\n/**\n *\n * @param node\n */\nexport function isHeading(node: Element): boolean {\n return isElement(node, HEADINGS);\n}\n","import {\n asArray,\n KEYWORD_ALLOWED_LANGUAGES,\n NG_DOC_ELEMENT,\n NgDocKeyword,\n NgDocKeywordLanguage,\n} from '@ng-doc/core';\nimport { Element, Text } from 'hast';\nimport { isElement } from 'hast-util-is-element';\nimport { toString } from 'hast-util-to-string';\nimport { SKIP, visitParents } from 'unist-util-visit-parents';\n\nimport { hasLinkAncestor, isCodeNode } from '../helpers';\n\nconst ALWAYS_ALLOWED_LANGUAGES: string[] = ['typescript', 'ts', 'angular-ts'];\nconst LANGUAGES: string[] = ['typescript', 'ts', 'angular-ts', ...KEYWORD_ALLOWED_LANGUAGES];\nconst SPLIT_REGEXP: RegExp = /([*\\p{L}\\w$@-]+(?:[.#][\\p{L}\\w-]+)?(?:\\?[\\w=&]+)?)/u;\nconst MATCH_KEYWORD_REGEXP: RegExp =\n /(?<key>[*\\p{L}\\w$@-]+)((?<delimiter>[.#])(?<anchor>[\\p{L}\\w-]+))?(?<queryParams>\\?[\\w=&]+)?/u;\n\nexport type AddKeyword = (keyword: string) => void;\nexport type GetKeyword = (keyword: string) => NgDocKeyword | undefined;\n\ninterface Config {\n addUsedKeyword?: AddKeyword;\n getKeyword?: GetKeyword;\n}\n\n/**\n *\n * @param config\n */\nexport default function keywordsPlugin(config: Config) {\n return (tree: Element) =>\n visitParents(tree, 'element', (node: Element, ancestors: Element[]) => {\n if (!isCodeNode(node)) {\n return;\n }\n\n const isInlineCode: boolean = !isElement(ancestors[ancestors.length - 1], 'pre');\n const lang =\n asArray((node.properties?.['className'] as string[]) ?? [])\n .find((className) => className.startsWith('language-'))\n ?.replace('language-', '') ?? '';\n\n if (isInlineCode || LANGUAGES.includes(lang)) {\n visitParents(node, 'text', (node: Text, ancestors: Element[]) => {\n if (hasLinkAncestor(ancestors)) {\n return;\n }\n\n const parent: Element = ancestors[ancestors.length - 1];\n const index: number = parent.children.indexOf(node);\n\n // Parse the text for words that we can convert to links\n const nodes: any[] = getNodes(node, parent, isInlineCode, config, lang);\n // Replace the text node with the links and leftover text nodes\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n Array.prototype.splice.apply(parent.children, [index, 1].concat(nodes));\n // Do not visit this node's children or the newly added nodes\n return [SKIP, index + nodes.length];\n });\n }\n });\n}\n\n/**\n *\n * @param node\n * @param parent\n * @param isInlineCode\n * @param config\n * @param language\n */\nfunction getNodes(\n node: Text,\n parent: Element,\n isInlineCode: boolean,\n config: Config,\n language: string,\n): Array<Element | Text> {\n const { addUsedKeyword, getKeyword } = config;\n\n return toString(node)\n .split(SPLIT_REGEXP)\n .map((word: string) => {\n const match = word.match(MATCH_KEYWORD_REGEXP);\n\n if (!match) {\n return { type: 'text', value: word };\n }\n\n const {\n key = '',\n delimiter = '',\n anchor = '',\n queryParams = '',\n } = match.groups as { key: string; delimiter: string; anchor: string; queryParams: string };\n const usedKeyword = `${key}${delimiter}${anchor?.toLowerCase()}`;\n const rootKeyword = getKeyword?.(key);\n const keyword = getKeyword?.(usedKeyword);\n const isGuideKeyword = key.startsWith('*');\n const isLanguageAllowed =\n (!keyword?.languages && ALWAYS_ALLOWED_LANGUAGES.includes(language)) ||\n !!keyword?.languages?.includes(language as NgDocKeywordLanguage);\n\n // If language of code block is not allowed, return the word as is\n if (!isInlineCode && keyword && !isLanguageAllowed) {\n return { type: 'text', value: word };\n }\n\n // If the keyword is just an asterisk, return the word as is\n if (isGuideKeyword && key.length === 1) {\n return { type: 'text', value: word };\n }\n\n addUsedKeyword?.(usedKeyword);\n\n const notFoundGuideKeyword: boolean = isGuideKeyword && !keyword;\n const notFoundApiAnchorKeyword: boolean = !!rootKeyword && !!anchor && !keyword;\n\n if (getKeyword && isInlineCode && (notFoundGuideKeyword || notFoundApiAnchorKeyword)) {\n throw new Error(`Route with keyword \"${word}\" is missing.`);\n }\n\n // Convert code tag to a link tag or highlight it with a class\n if (parent.properties) {\n if (isInlineCode && keyword?.type === 'link') {\n parent.tagName = 'a';\n parent.properties = {\n href: `${keyword.path}${queryParams ?? ''}`,\n className: [NG_DOC_ELEMENT],\n };\n\n return { type: 'text', value: keyword.title };\n } else if (isInlineCode && keyword) {\n parent.properties['className'] = [NG_DOC_ELEMENT, 'ng-doc-code-with-link'];\n }\n }\n\n // Add link inside the code if it's a link to the API entity\n return keyword\n ? createLinkNode(\n isInlineCode ? keyword.title : word,\n keyword.path,\n keyword.type,\n keyword.description,\n )\n : { type: 'text', value: word };\n });\n}\n\n/**\n *\n * @param text\n * @param href\n * @param type\n * @param description\n */\nfunction createLinkNode(text: string, href: string, type?: string, description?: string): Element {\n return {\n type: 'element',\n tagName: 'a',\n properties: {\n href: href,\n class: ['ng-doc-code-anchor', NG_DOC_ELEMENT],\n 'data-link-type': type,\n ngDocTooltip: description,\n },\n children: [{ type: 'text', value: text }],\n };\n}\n","import rehypeParse from 'rehype-parse';\nimport rehypeStringify from 'rehype-stringify';\nimport { unified } from 'unified';\n\nimport keywordsPlugin from './plugins/keywords.plugin';\n\nexport interface PostProcessHtmlOutput {\n content: string;\n usedKeywords: string[];\n error?: unknown;\n}\n\n/**\n *\n * @param html\n * @param config\n * @param config.addUsedKeyword\n * @param addUsedKeyword\n */\nexport async function postProcessHtml(html: string): Promise<PostProcessHtmlOutput> {\n const usedKeywords = new Set<string>();\n\n try {\n const content = await unified()\n .use(rehypeParse, { fragment: true })\n .use(rehypeStringify)\n .use(keywordsPlugin, { addUsedKeyword: usedKeywords.add.bind(usedKeywords) })\n .process(html)\n .then((file) => file.toString());\n\n return { content, usedKeywords: Array.from(usedKeywords) };\n } catch (error) {\n return { content: html, usedKeywords: [], error };\n }\n}\n","import { Element, Root } from 'hast';\nimport { visit } from 'unist-util-visit';\n\nimport { hasClass, isHeading } from '../helpers';\n\nconst NO_ANCHOR_CLASS: string = 'no-anchor';\n\n/**\n *\n * @param options\n * @param route\n */\nexport default function addHeadingAnchors(route?: string): any {\n return (tree: Root) =>\n visit(tree, 'element', (node: Element) => {\n if (\n route &&\n isHeading(node) &&\n node.properties &&\n node.properties['id'] &&\n !hasClass(node, NO_ANCHOR_CLASS)\n ) {\n node.children.push({\n type: 'element',\n tagName: 'ng-doc-heading-anchor',\n properties: {\n className: ['ng-doc-anchor'],\n anchor: node.properties['id'],\n },\n children: [],\n });\n\n node.properties = {\n ...node.properties,\n href: route,\n headingLink: 'true',\n };\n }\n });\n}\n","import { Element, Root } from 'hast';\nimport { visit } from 'unist-util-visit';\n\nimport { attrValue, isCodeBlock, isElement } from '../helpers';\n\n/**\n * Highlight code lines\n */\nexport default function highlightCodeLines() {\n return (tree: Root) => {\n visit(tree, 'element', (node: Element, _i, parent: Root | Element | null) => {\n if (isCodeBlock(parent, node) && parent?.type === 'element') {\n const highlightedLines: number[] = JSON.parse(\n attrValue(parent, 'highlightedLines') ?? '[]',\n );\n\n highlightedLines.length &&\n node.children.filter(isElement).forEach((child: Element, i: number) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (child.properties.class === 'line' && highlightedLines.includes(i + 1)) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n child.properties.class = 'line highlighted';\n }\n });\n }\n });\n };\n}\n","import { asArray, NG_DOC_ELEMENT } from '@ng-doc/core';\nimport { Element, Root } from 'hast';\nimport { visit } from 'unist-util-visit';\n\n/**\n * Marks all elements with the NG_DOC_ELEMENT class name\n * @param tree\n * @param headings\n */\nexport default function markElementsPlugin(): any {\n return (tree: Root) => {\n visit(tree, 'element', (node: Element) => {\n if (node.properties) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n node.properties['className'] = [...asArray(node.properties.className), NG_DOC_ELEMENT];\n }\n });\n };\n}\n","import { Element, Root } from 'hast';\nimport { toString } from 'hast-util-to-string';\nimport { visit } from 'unist-util-visit';\n\n/**\n * Plugin to transform mermaid code blocks into mermaid elements that are going to be rendered by the mermaid processor.\n * @param tree\n * @param headings\n */\nexport default function mermaidPlugin(): any {\n return (tree: Root) => {\n visit(tree, 'element', (node: Element) => {\n if (node.tagName === 'pre') {\n const codeNode = node.children[0] as Element;\n\n if (codeNode.tagName === 'code' && codeNode.properties?.['lang'] === 'mermaid') {\n node.properties = { className: 'mermaid' };\n node.children = [\n {\n type: 'text',\n value: toString(codeNode),\n },\n ];\n }\n }\n });\n };\n}\n","import { NgDocHeading, NgDocPageAnchor, NgDocScopedKeyword } from '@ng-doc/core';\nimport GithubSlugger from 'github-slugger';\nimport { Element, Root } from 'hast';\nimport { hasProperty } from 'hast-util-has-property';\nimport { headingRank } from 'hast-util-heading-rank';\nimport { isElement } from 'hast-util-is-element';\nimport { toString } from 'hast-util-to-string';\nimport { visitParents } from 'unist-util-visit-parents';\n\nimport { attrValue } from '../helpers';\n\n/**\n *\n * @param tree\n * @param addAnchor\n * @param headings\n */\nexport default function sluggerPlugin(\n addAnchor?: (anchor: NgDocPageAnchor) => void,\n headings: NgDocHeading[] = ['h1', 'h2', 'h3', 'h4'],\n) {\n if (!addAnchor) {\n return () => {};\n }\n\n const slugger: GithubSlugger = new GithubSlugger();\n\n return (tree: Root) => {\n slugger.reset();\n\n visitParents(tree, 'element', (node: Element, ancestors) => {\n const scope = getKeywordScope(ancestors);\n\n const isHeading =\n !!headingRank(node) &&\n !hasProperty(node, 'id') &&\n !!headings?.includes(node.tagName.toLowerCase() as NgDocHeading);\n const attrSlug: string | undefined = attrValue(node, 'dataSlug');\n const attrSlugTitle: string | undefined = attrValue(node, 'dataSlugTitle');\n const attrSlugType: string | undefined = attrValue(node, 'dataSlugType');\n const dataToSlug: string | undefined = isHeading ? toString(node).trim() : attrSlug;\n\n if (dataToSlug) {\n if (node.properties) {\n const id: string =\n attrSlug && attrSlugType === 'member' ? attrSlug : slugger.slug(dataToSlug);\n\n node.properties['id'] = id;\n\n addAnchor({\n anchorId: id,\n anchor: new GithubSlugger().slug(dataToSlug),\n title: attrSlugTitle || dataToSlug,\n scope,\n type:\n (isHeading && attrSlugType !== 'member') || (attrSlug && attrSlugType === 'heading')\n ? 'heading'\n : 'member',\n });\n }\n }\n });\n };\n}\n\n/**\n *\n * @param ancestors\n */\nfunction getKeywordScope(ancestors: Array<Root | Element>): NgDocScopedKeyword | undefined {\n const keywordScope = ancestors.find(\n (ancestor) => isElement(ancestor) && ancestor.tagName === 'ng-doc-keyword-scope',\n ) as Element | undefined;\n const key = keywordScope?.properties?.['id'];\n\n return key\n ? {\n key: String(key),\n title: String(keywordScope?.properties?.['title']),\n }\n : undefined;\n}\n","import { Element, Root } from 'hast';\nimport { visit } from 'unist-util-visit';\n\n/**\n *\n */\nexport default function (): any {\n return (tree: Root) => {\n visit(tree, 'element', (node: Element, index, parent) => {\n const table: boolean = node?.tagName === 'table';\n\n if (table) {\n const wrapper = {\n type: 'element',\n tagName: 'div',\n properties: {\n className: 'ng-doc-table-wrapper',\n },\n children: [node],\n };\n\n // @ts-expect-error - parent is a hast node\n parent.children[index] = wrapper;\n }\n });\n };\n}\n","import { NgDocHeading, NgDocPageAnchor } from '@ng-doc/core';\nimport rehypeShiki from '@shikijs/rehype';\nimport rehypeMinifyWhitespace from 'rehype-minify-whitespace';\nimport rehypeParse from 'rehype-parse';\nimport rehypeStringify from 'rehype-stringify';\nimport { unified } from 'unified';\n\nimport autolinkHeadingPlugin from './plugins/add-heading-anchors.plugin';\nimport highlightCodeLines from './plugins/highlight-code-lines';\nimport markElementsPlugin from './plugins/mark-elements.plugin';\nimport mermaidPlugin from './plugins/mermaid.plugin';\nimport sluggerPlugin from './plugins/slugger.plugin';\nimport wrapTablePlugin from './plugins/table-wrapper';\n\nexport interface NgDocHtmlProcessorConfig {\n lightTheme?: string;\n darkTheme?: string;\n headings?: NgDocHeading[];\n route?: string;\n}\n\nexport interface NgDocHtmlProcessorOutput {\n content: string;\n anchors: NgDocPageAnchor[];\n error?: unknown;\n}\n\n/**\n *\n * @param html\n * @param config\n */\nexport async function processHtml(\n html: string,\n config: NgDocHtmlProcessorConfig,\n): Promise<NgDocHtmlProcessorOutput> {\n const anchors = new Set<NgDocPageAnchor>();\n\n try {\n const content = await unified()\n .use(rehypeParse, { fragment: true })\n .use(rehypeStringify)\n .use(mermaidPlugin)\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .use(rehypeShiki, {\n defaultLanguage: 'ts',\n fallbackLanguage: 'text',\n addLanguageClass: true,\n parseMetaString: (meta: string) => JSON.parse(meta?.replace(/\\\\/g, '') || '{}'),\n themes: {\n light: config.lightTheme ?? 'github-light',\n dark: config.darkTheme ?? 'ayu-dark',\n },\n })\n .use(highlightCodeLines)\n .use(wrapTablePlugin)\n .use(sluggerPlugin, anchors.add.bind(anchors), config.headings)\n .use(rehypeMinifyWhitespace)\n .use(autolinkHeadingPlugin, config.route)\n .use(markElementsPlugin)\n .process(html)\n .then((file) => file.toString());\n\n return { content, anchors: Array.from(anchors) };\n } catch (error) {\n return { content: html, anchors: [], error };\n }\n}\n","import { Element, Root } from 'hast';\nimport { filter } from 'unist-util-filter';\n\nimport { isCodeNode } from '../helpers';\n\n/**\n *\n * @param tree\n * @param headings\n */\nexport default function removeNotIndexableContentPlugin(): any {\n return (tree: Root) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return filter(tree, { cascade: true }, (node: Element) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const preWithCode: boolean = node?.tagName === 'pre' && node?.children?.some(isCodeNode);\n const notIndexable: boolean = node?.properties?.['indexable'] === 'false';\n\n return !node?.tagName || (!preWithCode && !notIndexable);\n });\n };\n}\n","import { rehype } from 'rehype';\n\nimport removeNotIndexableContentPlugin from './plugins/remove-not-indexable-content.plugin';\n\n/**\n *\n * @param html\n */\nexport async function removeNotIndexableContent(html: string): Promise<string> {\n return rehype()\n .use(removeNotIndexableContentPlugin)\n .process(html)\n .then((file) => file.toString());\n}\n","import rehypeParse from 'rehype-parse';\nimport rehypeStringify from 'rehype-stringify';\nimport { unified } from 'unified';\n\nimport keywordsPlugin, { GetKeyword } from './plugins/keywords.plugin';\n\nexport interface ReplaceKeywordsConfig {\n getKeyword: GetKeyword;\n}\n\n/**\n *\n * @param html\n * @param config\n * @param config.getKeyword\n * @param getKeyword\n */\nexport async function replaceKeywords(\n html: string,\n { getKeyword }: ReplaceKeywordsConfig,\n): Promise<string> {\n return unified()\n .use(rehypeParse, { fragment: true })\n .use(rehypeStringify)\n .use(keywordsPlugin, { getKeyword })\n .process(html)\n .then((file) => file.toString());\n}\n","import { stringifyEntities as stringify } from 'stringify-entities';\n\n/**\n *\n * @param content\n */\nexport function stringifyEntities(content: string): string {\n return stringify(content);\n}\n"],"names":["minify","html","unified","use","rehypeParse","fragment","rehypeStringify","rehypeMinifyWhitespace","processSync","toString","attrValue","node","attr","attrKey","toLowerCase","properties","String","undefined","hasClass","cls","className","includes","hasLinkAncestor","ancestors","some","ancestor","isElement","isCodeBlock","parent","type","tagName","isCodeNode","HEADINGS","isHeading","ALWAYS_ALLOWED_LANGUAGES","LANGUAGES","KEYWORD_ALLOWED_LANGUAGES","SPLIT_REGEXP","MATCH_KEYWORD_REGEXP","keywordsPlugin","config","tree","visitParents","isInlineCode","length","lang","asArray","find","startsWith","replace","index","children","indexOf","nodes","getNodes","Array","prototype","splice","apply","concat","SKIP","language","addUsedKeyword","getKeyword","split","map","word","match","value","key","delimiter","anchor","queryParams","groups","usedKeyword","rootKeyword","keyword","isGuideKeyword","isLanguageAllowed","languages","notFoundGuideKeyword","notFoundApiAnchorKeyword","Error","href","path","NG_DOC_ELEMENT","title","createLinkNode","description","text","class","ngDocTooltip","postProcessHtml","usedKeywords","Set","content","add","bind","process","then","file","from","error","NO_ANCHOR_CLASS","addHeadingAnchors","route","visit","push","headingLink","highlightCodeLines","_i","highlightedLines","JSON","parse","filter","forEach","child","i","markElementsPlugin","mermaidPlugin","codeNode","sluggerPlugin","addAnchor","headings","slugger","GithubSlugger","reset","scope","getKeywordScope","headingRank","hasProperty","attrSlug","attrSlugTitle","attrSlugType","dataToSlug","trim","id","slug","anchorId","keywordScope","table","wrapper","processHtml","anchors","rehypeShiki","defaultLanguage","fallbackLanguage","addLanguageClass","parseMetaString","meta","themes","light","lightTheme","dark","darkTheme","wrapTablePlugin","autolinkHeadingPlugin","removeNotIndexableContentPlugin","cascade","preWithCode","notIndexable","removeNotIndexableContent","rehype","replaceKeywords","stringifyEntities","stringify"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-doc/utils",
|
|
3
|
-
"version": "20.0.0-beta.
|
|
3
|
+
"version": "20.0.0-beta.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"rehype": "13.0.1",
|
|
7
7
|
"rehype-format": "5.0.0",
|
|
8
8
|
"rehype-parse": "9.0.0",
|
|
9
|
-
"rehype-stringify": "10.0.
|
|
9
|
+
"rehype-stringify": "10.0.1",
|
|
10
10
|
"github-slugger": "2.0.0",
|
|
11
11
|
"hast-util-has-property": "3.0.0",
|
|
12
12
|
"hast-util-heading-rank": "3.0.0",
|
|
@@ -23,6 +23,13 @@
|
|
|
23
23
|
"publishConfig": {
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
|
+
"exports": {
|
|
27
|
+
"./package.json": "./package.json",
|
|
28
|
+
".": {
|
|
29
|
+
"import": "./index.esm.js",
|
|
30
|
+
"types": "./index.d.ts"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
26
33
|
"module": "./index.esm.js",
|
|
27
34
|
"main": "./index.esm.js",
|
|
28
35
|
"types": "./index.d.ts",
|