@unterberg/nivel 0.0.1 → 0.0.2
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/README.md +114 -0
- package/dist/{chunk-73NPVCDQ.js → chunk-D7IAGT53.js} +56 -26
- package/dist/chunk-D7IAGT53.js.map +1 -0
- package/dist/{chunk-3JJ6TYWL.js → chunk-G37565OX.js} +18 -26
- package/dist/chunk-G37565OX.js.map +1 -0
- package/dist/chunk-G7X2IWYG.js +1596 -0
- package/dist/chunk-G7X2IWYG.js.map +1 -0
- package/dist/{chunk-PHHK2BAF.js → chunk-HXZEI3YF.js} +38 -29
- package/dist/chunk-HXZEI3YF.js.map +1 -0
- package/dist/{chunk-4WTEOEV2.js → chunk-L6ZVB6XH.js} +3 -3
- package/dist/chunk-L6ZVB6XH.js.map +1 -0
- package/dist/{chunk-FLO5CJZH.js → chunk-PYYPYIBD.js} +10 -3
- package/dist/chunk-PYYPYIBD.js.map +1 -0
- package/dist/{chunk-45CLUNJW.js → chunk-UWP3C7JT.js} +12 -12
- package/dist/chunk-UWP3C7JT.js.map +1 -0
- package/dist/client.d.ts +4 -8
- package/dist/client.js +4 -4
- package/dist/index.d.ts +7 -12
- package/dist/index.js +4 -8
- package/dist/{code-blocks.js → mdx/code-blocks.js} +1 -1
- package/dist/mdx.js +4 -4
- package/dist/mdx.js.map +1 -1
- package/dist/runtime/client.d.ts +1 -1
- package/dist/runtime/client.js +4 -4
- package/dist/runtime/{index.d.ts → node.d.ts} +4 -2
- package/dist/runtime/{index.js → node.js} +4 -4
- package/dist/{types-mvLNHHrf.d.ts → types-j0kEkMA4.d.ts} +47 -24
- package/dist/{config.js → vike.js} +8 -8
- package/dist/vike.js.map +1 -0
- package/package.json +15 -14
- package/assets/nivel/decorators/pattern-light.png +0 -0
- package/assets/nivel/decorators/pattern.png +0 -0
- package/dist/chunk-3JJ6TYWL.js.map +0 -1
- package/dist/chunk-45CLUNJW.js.map +0 -1
- package/dist/chunk-4WTEOEV2.js.map +0 -1
- package/dist/chunk-62MBEYU7.js +0 -1091
- package/dist/chunk-62MBEYU7.js.map +0 -1
- package/dist/chunk-73NPVCDQ.js.map +0 -1
- package/dist/chunk-FLO5CJZH.js.map +0 -1
- package/dist/chunk-PHHK2BAF.js.map +0 -1
- package/dist/config.js.map +0 -1
- /package/dist/{code-blocks.d.ts → mdx/code-blocks.d.ts} +0 -0
- /package/dist/{code-blocks.js.map → mdx/code-blocks.js.map} +0 -0
- /package/dist/runtime/{index.js.map → node.js.map} +0 -0
- /package/dist/{config.d.ts → vike.d.ts} +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
// src/
|
|
1
|
+
// src/mdx/code-blocks/index.ts
|
|
2
2
|
import { transformerNotationHighlight } from "@brillout/shiki-transformers";
|
|
3
3
|
import { transformerNotationDiff, transformerNotationWordHighlight } from "@shikijs/transformers";
|
|
4
4
|
import rehypePrettyCode from "rehype-pretty-code";
|
|
5
5
|
import remarkDirective from "remark-directive";
|
|
6
6
|
|
|
7
|
-
// src/
|
|
7
|
+
// src/mdx/code-blocks/rehypeMetaToProps.ts
|
|
8
8
|
import { visit } from "unist-util-visit";
|
|
9
9
|
|
|
10
|
-
// src/
|
|
10
|
+
// src/mdx/code-blocks/meta.ts
|
|
11
11
|
var kebabCase = (value) => {
|
|
12
12
|
return value.replace(/([a-z])([A-Z])/g, "$1-$2").replaceAll("_", "-").toLowerCase();
|
|
13
13
|
};
|
|
@@ -63,7 +63,7 @@ var getCodeBlockPropsFromMeta = (meta) => {
|
|
|
63
63
|
};
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
-
// src/
|
|
66
|
+
// src/mdx/code-blocks/rehypeMetaToProps.ts
|
|
67
67
|
var rehypeMetaToProps = () => {
|
|
68
68
|
return (tree) => {
|
|
69
69
|
visit(tree, "element", (node, _index, parent) => {
|
|
@@ -81,10 +81,10 @@ var rehypeMetaToProps = () => {
|
|
|
81
81
|
};
|
|
82
82
|
};
|
|
83
83
|
|
|
84
|
-
// src/
|
|
84
|
+
// src/mdx/code-blocks/remarkChoiceGroup.ts
|
|
85
85
|
import { visit as visit2 } from "unist-util-visit";
|
|
86
86
|
|
|
87
|
-
// src/
|
|
87
|
+
// src/mdx/code-blocks/generateChoiceGroupCode.ts
|
|
88
88
|
import { valueToEstree } from "estree-util-value-to-estree";
|
|
89
89
|
var BUILT_IN_CHOICE_GROUPS = {
|
|
90
90
|
codeLang: {
|
|
@@ -194,7 +194,7 @@ var increaseLvl = (node) => {
|
|
|
194
194
|
}
|
|
195
195
|
};
|
|
196
196
|
|
|
197
|
-
// src/
|
|
197
|
+
// src/mdx/code-blocks/remarkChoiceGroup.ts
|
|
198
198
|
var remarkChoiceGroup = () => {
|
|
199
199
|
return (tree) => {
|
|
200
200
|
visit2(tree, (node) => {
|
|
@@ -278,7 +278,7 @@ var filterChoices = (nodes) => {
|
|
|
278
278
|
return filteredChoices;
|
|
279
279
|
};
|
|
280
280
|
|
|
281
|
-
// src/
|
|
281
|
+
// src/mdx/code-blocks/remarkDetype.ts
|
|
282
282
|
import { transform as detype } from "detype";
|
|
283
283
|
import { visit as visit3 } from "unist-util-visit";
|
|
284
284
|
var prettierOptions = {
|
|
@@ -525,7 +525,7 @@ var stripTypeSyntax = (line) => {
|
|
|
525
525
|
return line.replace(/\??:\s*[A-Za-z_$][\w$.<>, |&[\]]*/g, "").replace(/\s+as\s+const\b/g, "").replace(/\s+as\s+[A-Za-z_$][\w$.<>, |&[\]]*/g, "");
|
|
526
526
|
};
|
|
527
527
|
|
|
528
|
-
// src/
|
|
528
|
+
// src/mdx/code-blocks/remarkPkgManager.ts
|
|
529
529
|
import convert_ from "npm-to-yarn";
|
|
530
530
|
import { visit as visit4 } from "unist-util-visit";
|
|
531
531
|
var convert = convert_;
|
|
@@ -574,7 +574,7 @@ var remarkPkgManager = () => {
|
|
|
574
574
|
};
|
|
575
575
|
};
|
|
576
576
|
|
|
577
|
-
// src/
|
|
577
|
+
// src/mdx/code-blocks/shikiTransformerAutoLinks.ts
|
|
578
578
|
var LINK_RE = /https:\/\/[^\s]*[^.,\s"'`]/g;
|
|
579
579
|
var shikiTransformerAutoLinks = () => {
|
|
580
580
|
return {
|
|
@@ -618,7 +618,7 @@ var shikiTransformerAutoLinks = () => {
|
|
|
618
618
|
};
|
|
619
619
|
};
|
|
620
620
|
|
|
621
|
-
// src/
|
|
621
|
+
// src/mdx/code-blocks/index.ts
|
|
622
622
|
var getCodeBlockMdxPlugins = () => {
|
|
623
623
|
return {
|
|
624
624
|
remarkPlugins: [remarkDirective, remarkDetype, remarkPkgManager, remarkChoiceGroup],
|
|
@@ -654,4 +654,4 @@ export {
|
|
|
654
654
|
shikiTransformerAutoLinks,
|
|
655
655
|
getCodeBlockMdxPlugins
|
|
656
656
|
};
|
|
657
|
-
//# sourceMappingURL=chunk-
|
|
657
|
+
//# sourceMappingURL=chunk-UWP3C7JT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mdx/code-blocks/index.ts","../src/mdx/code-blocks/rehypeMetaToProps.ts","../src/mdx/code-blocks/meta.ts","../src/mdx/code-blocks/remarkChoiceGroup.ts","../src/mdx/code-blocks/generateChoiceGroupCode.ts","../src/mdx/code-blocks/remarkDetype.ts","../src/mdx/code-blocks/remarkPkgManager.ts","../src/mdx/code-blocks/shikiTransformerAutoLinks.ts"],"sourcesContent":["import { transformerNotationHighlight } from '@brillout/shiki-transformers'\nimport { transformerNotationDiff, transformerNotationWordHighlight } from '@shikijs/transformers'\nimport rehypePrettyCode from 'rehype-pretty-code'\nimport remarkDirective from 'remark-directive'\nimport { rehypeMetaToProps } from './rehypeMetaToProps.js'\nimport { remarkChoiceGroup } from './remarkChoiceGroup.js'\nimport { remarkDetype } from './remarkDetype.js'\nimport { remarkPkgManager } from './remarkPkgManager.js'\nimport { shikiTransformerAutoLinks } from './shikiTransformerAutoLinks.js'\n\nexport { getCodeBlockPropsFromMeta, parseMetaString } from './meta.js'\nexport { rehypeMetaToProps } from './rehypeMetaToProps.js'\nexport { remarkChoiceGroup } from './remarkChoiceGroup.js'\nexport { remarkDetype } from './remarkDetype.js'\nexport { remarkPkgManager } from './remarkPkgManager.js'\nexport { shikiTransformerAutoLinks } from './shikiTransformerAutoLinks.js'\n\nexport const getCodeBlockMdxPlugins = (): {\n remarkPlugins: any[]\n rehypePlugins: any[]\n} => {\n return {\n remarkPlugins: [remarkDirective, remarkDetype, remarkPkgManager, remarkChoiceGroup],\n rehypePlugins: [\n [\n rehypePrettyCode,\n {\n keepBackground: false,\n theme: {\n light: 'github-light',\n dark: 'one-dark-pro',\n },\n transformers: [\n transformerNotationDiff(),\n transformerNotationHighlight(),\n transformerNotationWordHighlight(),\n shikiTransformerAutoLinks(),\n ],\n },\n ],\n rehypeMetaToProps,\n ],\n }\n}\n","import { visit } from 'unist-util-visit'\nimport { getCodeBlockPropsFromMeta } from './meta.js'\n\nexport const rehypeMetaToProps = () => {\n return (tree: unknown) => {\n visit(tree as any, 'element', (node: any, _index, parent: any) => {\n if (node.tagName !== 'code' || parent?.type !== 'element' || parent.tagName !== 'pre') {\n return\n }\n\n const meta = getCodeBlockPropsFromMeta(node.data?.meta)\n parent.properties ??= {}\n parent.properties = {\n ...parent.properties,\n ...meta.props,\n ...(meta.title ? { 'data-code-title': meta.title } : {}),\n }\n })\n }\n}\n","const kebabCase = (value: string) => {\n return value\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replaceAll('_', '-')\n .toLowerCase()\n}\n\ntype ParsedMeta<Name extends string = string> = {\n props: Partial<Record<Name, string>>\n rest: string\n tokens: ParsedMetaToken[]\n}\n\ntype ParsedMetaToken = {\n hasExplicitValue: boolean\n name: string\n raw: string\n value?: string\n}\n\nconst KEY_VALUE_PAIR_RE = /(?<name>[a-zA-Z_-]+)(?:=([^\"'\\s]+))?/g\nconst RESERVED_CODE_BLOCK_META_NAMES = new Set([\n 'choice',\n 'file-added',\n 'file-removed',\n 'hide-menu',\n 'max-width',\n 'ts-only',\n])\n\nexport const parseMetaString = <Name extends string = string>(meta: unknown, propNames?: Name[]): ParsedMeta<Name> => {\n if (typeof meta !== 'string' || meta.trim() === '') {\n return { props: {}, rest: '', tokens: [] }\n }\n\n const props: ParsedMeta['props'] = {}\n const tokens: ParsedMetaToken[] = []\n const rest = meta.replaceAll(KEY_VALUE_PAIR_RE, (match, name: string, value: string | undefined) => {\n const normalizedName = kebabCase(name)\n tokens.push({\n hasExplicitValue: value !== undefined,\n name: normalizedName,\n raw: match,\n value,\n })\n\n if (propNames && !propNames.includes(normalizedName as Name)) {\n return match\n }\n\n props[normalizedName] = value || 'true'\n return ''\n })\n\n return {\n props,\n rest: rest.trim(),\n tokens,\n }\n}\n\nexport const getCodeBlockPropsFromMeta = (meta: unknown) => {\n const parsed = parseMetaString(meta)\n const props = { ...parsed.props } as Record<string, string>\n const implicitTitleToken = parsed.tokens.find(\n (token) => !token.hasExplicitValue && !RESERVED_CODE_BLOCK_META_NAMES.has(token.name),\n )\n const explicitTitle = typeof props.title === 'string' && props.title.trim() ? props.title.trim() : null\n\n delete props.title\n if (implicitTitleToken) {\n delete props[implicitTitleToken.name]\n }\n\n return {\n props,\n title: explicitTitle ?? implicitTitleToken?.raw.trim() ?? null,\n }\n}\n","import { visit } from 'unist-util-visit'\nimport { generateChoiceGroupCode } from './generateChoiceGroupCode.js'\nimport { parseMetaString } from './meta.js'\n\nexport const remarkChoiceGroup = () => {\n return (tree: unknown) => {\n visit(tree as any, (node: any) => {\n if (node.type === 'code' && node.meta) {\n const meta = parseMetaString(node.meta, ['choice'])\n const choice = meta.props.choice\n node.meta = meta.rest\n\n if (choice) {\n node.data ??= {}\n node.data.customDataChoice = choice\n node.data.customDataFilter = 'explicitChoice'\n }\n }\n\n if (node.type === 'containerDirective' && node.name === 'Choice') {\n const choice = typeof node.attributes?.id === 'string' ? node.attributes.id : null\n if (!choice) {\n return\n }\n\n node.data ??= {}\n node.data.customDataChoice = choice\n node.data.customDataFilter = node.type\n node.attributes = {}\n }\n })\n\n visit(tree as any, (node: any) => {\n if (!Array.isArray(node.children)) {\n return\n }\n\n let start = -1\n let end = 0\n\n const processRange = () => {\n if (start === -1 || start === end) {\n return\n }\n\n const nodes = node.children.slice(start, end)\n const replacements = filterChoices(nodes).map((choiceNodes) => generateChoiceGroupCode(choiceNodes, node))\n node.children.splice(start, end - start, ...replacements)\n end = start + replacements.length\n start = -1\n }\n\n for (; end < node.children.length; end += 1) {\n const child = node.children[end]\n\n if (!['code', 'mdxJsxFlowElement', 'containerDirective'].includes(child?.type)) {\n processRange()\n continue\n }\n\n if (!child.data?.customDataChoice) {\n processRange()\n continue\n }\n\n if (start === -1) {\n start = end\n }\n }\n\n processRange()\n })\n }\n}\n\nconst filterChoices = (nodes: any[]) => {\n const filteredChoices: Array<Array<{ choiceValue: string; children: any[] }>> = []\n const filters = [...new Set(nodes.map((node) => node.data?.customDataFilter).filter(Boolean))]\n\n for (const filter of filters) {\n const nodesByChoice = new Map<string, any[]>()\n\n for (const node of nodes.filter((candidate) => candidate.data?.customDataFilter === filter)) {\n const choice = node.data?.customDataChoice\n if (!choice) {\n continue\n }\n\n node.data.customDataChoice = undefined\n const choiceNodes = nodesByChoice.get(choice) ?? []\n choiceNodes.push(node)\n nodesByChoice.set(choice, choiceNodes)\n }\n\n filteredChoices.push(\n [...nodesByChoice].map(([choiceValue, children]) => ({\n choiceValue,\n children,\n })),\n )\n }\n\n return filteredChoices\n}\n","import { valueToEstree } from 'estree-util-value-to-estree'\nimport type { MdxJsxAttribute, MdxJsxFlowElement } from 'mdast-util-mdx-jsx'\n\ntype ChoiceNode = {\n choiceValue: string\n children: any[]\n}\n\nconst BUILT_IN_CHOICE_GROUPS = {\n codeLang: {\n choices: ['JavaScript', 'TypeScript'],\n default: 'JavaScript',\n },\n pkgManager: {\n choices: ['npm', 'pnpm', 'Bun', 'Yarn'],\n default: 'npm',\n },\n} as const\n\nconst getChoiceGroup = (choicesRaw: string[]) => {\n const choices = [...new Set(choicesRaw.filter(Boolean))]\n\n for (const [name, group] of Object.entries(BUILT_IN_CHOICE_GROUPS)) {\n if (!choices.every((choice) => group.choices.includes(choice as never))) {\n continue\n }\n\n return {\n name,\n choices: group.choices,\n default: group.default,\n disabled: group.choices.filter((choice) => !choices.includes(choice)),\n }\n }\n\n return {\n name: `custom:${choices.join('|')}`,\n choices,\n default: choices[0] ?? '',\n disabled: [] as string[],\n }\n}\n\nexport const generateChoiceGroupCode = (choiceNodes: ChoiceNode[], parent?: any): MdxJsxFlowElement => {\n const choiceGroup = getChoiceGroup(choiceNodes.map((choiceNode) => choiceNode.choiceValue))\n const mergedChoiceNodes = choiceGroup.choices.map((choice) => {\n const choiceNode = choiceNodes.find((node) => node.choiceValue === choice)\n\n return {\n choiceValue: choice,\n children: choiceNode?.children ?? [],\n }\n })\n\n const attributes: MdxJsxAttribute[] = [\n {\n type: 'mdxJsxAttribute',\n name: 'choiceGroup',\n value: {\n type: 'mdxJsxAttributeValueExpression',\n value: '',\n data: {\n estree: {\n type: 'Program',\n sourceType: 'module',\n comments: [],\n body: [\n {\n type: 'ExpressionStatement',\n expression: valueToEstree(choiceGroup) as any,\n } as any,\n ],\n } as any,\n },\n },\n },\n ]\n\n if (choiceNodes.length === 1) {\n attributes.push({ type: 'mdxJsxAttribute', name: 'hide' })\n }\n\n attributes.push({\n type: 'mdxJsxAttribute',\n name: 'lvl',\n value: `${parent?.type === 'mdxJsxFlowElement' ? 1 : 0}`,\n })\n\n const children: MdxJsxFlowElement[] = mergedChoiceNodes.map((choiceNode) => {\n const choiceChildren =\n choiceNode.children.length > 0 && choiceNode.children.every((node) => node.type === 'containerDirective')\n ? choiceNode.children.flatMap((node) => node.children ?? [])\n : choiceNode.children\n\n for (const child of choiceChildren) {\n increaseLvl(child)\n }\n\n return {\n type: 'mdxJsxFlowElement',\n name: 'div',\n attributes: [\n {\n type: 'mdxJsxAttribute',\n name: 'data-choice-value',\n value: choiceNode.choiceValue,\n },\n { type: 'mdxJsxAttribute', name: 'className', value: 'choice' },\n ],\n children: choiceChildren,\n }\n })\n\n return {\n type: 'mdxJsxFlowElement',\n name: 'ChoiceGroup',\n attributes,\n children,\n }\n}\n\nconst increaseLvl = (node: any) => {\n if (node?.type !== 'mdxJsxFlowElement' || node.name !== 'ChoiceGroup') {\n return\n }\n\n const attribute = node.attributes.find(\n (candidate: any) => candidate.type === 'mdxJsxAttribute' && candidate.name === 'lvl',\n )\n\n if (typeof attribute?.value === 'string') {\n attribute.value = `${Number(attribute.value) + 1}`\n }\n}\n","import { transform as detype } from 'detype'\nimport { visit } from 'unist-util-visit'\nimport { generateChoiceGroupCode } from './generateChoiceGroupCode.js'\nimport { parseMetaString } from './meta.js'\n\nconst prettierOptions = {\n semi: false,\n singleQuote: true,\n trailingComma: 'none',\n} as const\n\nexport const remarkDetype = () => {\n return async (tree: unknown, file: any) => {\n const codeNodes: Array<{ codeBlock: any; index: number; parent: any }> = []\n\n visit(tree as any, 'code', (node: any, index: number | undefined, parent: any) => {\n if (!parent || typeof index !== 'number') {\n return\n }\n\n if (!['ts', 'tsx', 'vue', 'yaml'].includes(node.lang ?? '')) {\n return\n }\n\n if (typeof node.meta === 'string' && node.meta.includes('ts-only')) {\n return\n }\n\n codeNodes.push({ codeBlock: node, index, parent })\n })\n\n for (const node of [...codeNodes].reverse()) {\n if (node.codeBlock.lang === 'yaml') {\n transformYaml(node)\n } else {\n await transformTsToJs(node, file)\n }\n }\n }\n}\n\nconst transformYaml = (node: { codeBlock: any; index: number; parent: any }) => {\n const { codeBlock, index, parent } = node\n const codeBlockContentJs = replaceFileNameSuffixes(codeBlock.value)\n\n if (codeBlockContentJs === codeBlock.value) {\n return\n }\n\n const meta = parseMetaString(codeBlock.meta, ['choice'])\n const choice = meta.props.choice\n codeBlock.meta = meta.rest\n\n const yamlJsCode = {\n ...codeBlock,\n value: codeBlockContentJs,\n }\n\n const replacement = generateChoiceGroupCode([\n { choiceValue: 'JavaScript', children: [yamlJsCode] },\n { choiceValue: 'TypeScript', children: [codeBlock] },\n ])\n\n replacement.attributes.push({ type: 'mdxJsxAttribute', name: 'hide' })\n replacement.data ??= {} as any\n ;(replacement.data as any).customDataChoice = choice\n ;(replacement.data as any).customDataFilter = 'codeLang'\n parent.children.splice(index, 1, replacement)\n}\n\nconst transformTsToJs = async (node: { codeBlock: any; index: number; parent: any }, file: any) => {\n const { codeBlock, index, parent } = node\n const meta = parseMetaString(codeBlock.meta, ['max-width', 'choice'])\n const maxWidth = Number(meta.props['max-width'])\n const choice = meta.props.choice\n codeBlock.meta = meta.rest\n\n codeBlock.data ??= {}\n codeBlock.data.customDataChoice = choice\n codeBlock.data.customDataFilter = 'codeLang'\n\n if (choice === 'TypeScript') {\n return\n }\n\n const codeBlockReplacedJs = replaceFileNameSuffixes(codeBlock.value)\n let codeBlockContentJs = ''\n\n try {\n codeBlockContentJs = await detype(codeBlockReplacedJs, `snippet.${codeBlock.lang}`, {\n customizeBabelConfig(config) {\n if (!config.presets || config.presets.length !== 1) {\n return\n }\n\n config.presets = [[config.presets[0], { onlyRemoveTypeImports: true }]]\n },\n removeTsComments: true,\n prettierOptions: {\n ...prettierOptions,\n printWidth: Number.isFinite(maxWidth) && maxWidth > 0 ? maxWidth : 99,\n },\n })\n } catch (error) {\n console.error(\n [\n `Failed to detype code block in ${file?.path ?? 'an MDX file'}.`,\n error instanceof Error ? error.message : String(error),\n ].join('\\n'),\n )\n return\n }\n\n codeBlockContentJs = cleanUpCode(codeBlockContentJs.trimEnd(), true)\n codeBlock.value = cleanUpCode(codeBlock.value)\n codeBlockContentJs = preserveSourceLineBreaks(codeBlock.value, codeBlockContentJs)\n codeBlockContentJs = preserveSourceBlankLines(codeBlock.value, codeBlockContentJs)\n\n if (codeBlockContentJs === codeBlock.value) {\n return\n }\n\n const tsCode = { ...codeBlock, lang: codeBlock.lang }\n const jsCode = {\n ...codeBlock,\n lang: String(codeBlock.lang).replace('t', 'j'),\n value: codeBlockContentJs,\n }\n\n const replacement = generateChoiceGroupCode([\n { choiceValue: 'JavaScript', children: [jsCode] },\n { choiceValue: 'TypeScript', children: [tsCode] },\n ])\n\n if (codeBlockReplacedJs === codeBlockContentJs) {\n replacement.attributes.push({ type: 'mdxJsxAttribute', name: 'hide' })\n }\n\n replacement.data ??= {} as any\n ;(replacement.data as any).customDataChoice = codeBlock.data.customDataChoice\n ;(replacement.data as any).customDataFilter = codeBlock.data.customDataFilter\n parent.children.splice(index, 1, replacement)\n}\n\nconst replaceFileNameSuffixes = (value: string) => value.replaceAll('.ts', '.js')\n\nconst cleanUpCode = (code: string, isJsCode = false) => {\n if (isJsCode) {\n code = correctCodeDiffComments(code)\n }\n\n return processMagicComments(code)\n}\n\nconst processMagicComments = (code: string) => {\n const renameCommentRe = /^\\s*\\/\\/\\s@docpress-replace\\s([^ ]+) ([^ ]+)\\n/gm\n const matches = Array.from(code.matchAll(renameCommentRe))\n\n for (let index = matches.length - 1; index >= 0; index -= 1) {\n const match = matches[index]\n if (!match) {\n continue\n }\n\n const [fullMatch, renameFrom, renameTo] = match\n code = code.split(fullMatch).join('').replaceAll(renameFrom, renameTo)\n }\n\n return code.replaceAll('// @docpress-uncomment ', '')\n}\n\nconst correctCodeDiffComments = (code: string) => {\n return code.replaceAll(/\\n\\s*\\/\\/\\s\\[!code.+\\]/g, (codeDiff) => codeDiff.trimStart())\n}\n\nconst preserveSourceLineBreaks = (sourceCode: string, outputCode: string) => {\n const multilineSegments = collectMultilineSourceSegments(sourceCode)\n\n if (multilineSegments.length === 0) {\n return outputCode\n }\n\n const outputLines = outputCode.split('\\n')\n\n for (const segmentLines of multilineSegments) {\n const segmentNormalized = normalizeCodeSegment(segmentLines.join('\\n'))\n\n if (!segmentNormalized) {\n continue\n }\n\n for (let start = 0; start < outputLines.length; start += 1) {\n let replaced = false\n\n for (let size = 1; size <= segmentLines.length; size += 1) {\n if (start + size > outputLines.length) {\n break\n }\n\n const outputSegment = outputLines.slice(start, start + size)\n\n if (normalizeCodeSegment(outputSegment.join('\\n')) !== segmentNormalized) {\n continue\n }\n\n if (outputSegment.join('\\n') !== segmentLines.join('\\n')) {\n outputLines.splice(start, size, ...segmentLines)\n }\n\n start += segmentLines.length - 1\n replaced = true\n break\n }\n\n if (replaced) {\n break\n }\n }\n }\n\n return outputLines.join('\\n')\n}\n\nconst collectMultilineSourceSegments = (code: string) => {\n const lines = code.split('\\n')\n const segments: string[][] = []\n let paragraphStart = -1\n\n for (let index = 0; index <= lines.length; index += 1) {\n if (index < lines.length && lines[index]?.trim() !== '') {\n if (paragraphStart === -1) {\n paragraphStart = index\n }\n continue\n }\n\n if (paragraphStart !== -1) {\n const paragraphEnd = index - 1\n\n for (let size = paragraphEnd - paragraphStart + 1; size >= 2; size -= 1) {\n for (let start = paragraphStart; start + size - 1 <= paragraphEnd; start += 1) {\n segments.push(lines.slice(start, start + size).map(replaceFileNameSuffixes))\n }\n }\n }\n\n paragraphStart = -1\n }\n\n return segments\n}\n\nconst preserveSourceBlankLines = (sourceCode: string, outputCode: string) => {\n const blankLineAnchors = collectBlankLineAnchors(sourceCode)\n\n if (blankLineAnchors.length === 0) {\n return outputCode\n }\n\n const outputLines = outputCode.split('\\n')\n let searchFrom = 0\n\n for (const anchor of blankLineAnchors) {\n const lineIndex = outputLines.findIndex((line, index) => index >= searchFrom && normalizeCodeLine(line) === anchor)\n\n if (lineIndex <= 0) {\n continue\n }\n\n if (outputLines[lineIndex - 1]?.trim() !== '') {\n outputLines.splice(lineIndex, 0, '')\n searchFrom = lineIndex + 2\n } else {\n searchFrom = lineIndex + 1\n }\n }\n\n return outputLines.join('\\n')\n}\n\nconst collectBlankLineAnchors = (code: string) => {\n const lines = code.split('\\n')\n const anchors: string[] = []\n\n for (let index = 1; index < lines.length; index += 1) {\n if (lines[index]?.trim() !== '' || lines[index - 1]?.trim() === '') {\n continue\n }\n\n let nextLineIndex = index + 1\n\n while (nextLineIndex < lines.length && lines[nextLineIndex]?.trim() === '') {\n nextLineIndex += 1\n }\n\n const anchor = lines[nextLineIndex]\n\n if (anchor) {\n anchors.push(normalizeCodeLine(anchor))\n }\n }\n\n return anchors\n}\n\nconst normalizeCodeLine = (line: string) => {\n return stripTypeSyntax(replaceFileNameSuffixes(line)).trim().replace(/\\s+/g, ' ')\n}\n\nconst normalizeCodeSegment = (code: string) => {\n return replaceFileNameSuffixes(code).replace(/\\s+/g, '')\n}\n\nconst stripTypeSyntax = (line: string) => {\n return line\n .replace(/\\??:\\s*[A-Za-z_$][\\w$.<>, |&[\\]]*/g, '')\n .replace(/\\s+as\\s+const\\b/g, '')\n .replace(/\\s+as\\s+[A-Za-z_$][\\w$.<>, |&[\\]]*/g, '')\n}\n","import convert_ from 'npm-to-yarn'\nimport { visit } from 'unist-util-visit'\nimport { generateChoiceGroupCode } from './generateChoiceGroupCode.js'\nimport { parseMetaString } from './meta.js'\n\nconst convert: (input: string, target: 'npm' | 'pnpm' | 'bun' | 'yarn') => string = convert_\n\nconst PACKAGE_MANAGERS = ['pnpm', 'Bun', 'Yarn'] as const\n\nexport const remarkPkgManager = () => {\n return (tree: unknown) => {\n visit(tree as any, 'code', (node: any, index: number | undefined, parent: any) => {\n if (!parent || typeof index !== 'number') {\n return\n }\n\n if (!['bash', 'sh', 'shell'].includes(node.lang ?? '')) {\n return\n }\n\n if (node.value.includes('pnpm')) {\n return\n }\n\n if (!node.value.includes('npm ') && !node.value.includes('npx ')) {\n return\n }\n\n let choice: string | undefined\n if (node.meta) {\n const meta = parseMetaString(node.meta, ['choice'])\n choice = meta.props.choice\n node.meta = meta.rest\n }\n\n node.value = node.value.replaceAll('npm i ', 'npm install ')\n\n const nodes = new Map<string, any>()\n nodes.set('npm', node)\n\n for (const packageManager of PACKAGE_MANAGERS) {\n nodes.set(packageManager, {\n ...node,\n value: convert(node.value, packageManager.toLowerCase() as 'pnpm' | 'bun' | 'yarn'),\n })\n }\n\n const replacement = generateChoiceGroupCode(\n [...nodes].map(([choiceValue, childNode]) => ({\n choiceValue,\n children: [childNode],\n })),\n )\n\n replacement.data ??= {} as any\n ;(replacement.data as any).customDataChoice = choice\n ;(replacement.data as any).customDataFilter = replacement.type\n parent.children.splice(index, 1, replacement)\n })\n }\n}\n","import type { ShikiTransformer } from 'shiki'\n\nconst LINK_RE = /https:\\/\\/[^\\s]*[^.,\\s\"'`]/g\n\nexport const shikiTransformerAutoLinks = (): ShikiTransformer => {\n return {\n name: 'solid-docpress-shiki-autolinks',\n span(span) {\n if (span.children.length !== 1) {\n return\n }\n\n let child = span.children[0]\n if (child.type !== 'text') {\n return\n }\n\n const matches = Array.from(child.value.matchAll(LINK_RE)).filter(([href]) => !href.includes('${'))\n if (matches.length === 0) {\n return\n }\n\n const links = matches\n .map((match) => ({ href: match[0], index: match.index ?? 0 }))\n .sort((left, right) => right.index - left.index)\n\n const nextChildren: typeof span.children = []\n\n for (const { href, index } of links) {\n const endIndex = index + href.length\n const trailingText = child.value.slice(endIndex)\n\n if (trailingText) {\n nextChildren.unshift({ type: 'text', value: trailingText })\n }\n\n nextChildren.unshift({\n type: 'element',\n tagName: 'a',\n properties: { href },\n children: [{ type: 'text', value: href }],\n })\n\n child = {\n type: 'text',\n value: child.value.slice(0, index),\n }\n }\n\n if (child.value) {\n nextChildren.unshift(child)\n }\n\n span.children = nextChildren\n },\n }\n}\n"],"mappings":"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","names":["visit","visit","visit","visit","visit","visit"]}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as react from 'react';
|
|
3
3
|
import { ReactNode, ComponentType } from 'react';
|
|
4
|
-
import { D as DocsConfig, T as ThemePreference, p as DocsThemeConfig } from './types-mvLNHHrf.js';
|
|
5
4
|
import * as _classmatejs_react from '@classmatejs/react';
|
|
5
|
+
import { g as DocsConfig, T as ThemePreference, r as DocsThemeConfig } from './types-j0kEkMA4.js';
|
|
6
6
|
import * as zustand_middleware from 'zustand/middleware';
|
|
7
7
|
import * as zustand from 'zustand';
|
|
8
8
|
|
|
9
9
|
interface AppLayoutProps {
|
|
10
10
|
children: ReactNode;
|
|
11
|
-
docsConfig: DocsConfig;
|
|
12
11
|
}
|
|
13
|
-
declare const AppLayout: ({ children
|
|
12
|
+
declare const AppLayout: ({ children }: AppLayoutProps) => react_jsx_runtime.JSX.Element;
|
|
14
13
|
|
|
15
14
|
declare const LayoutSize: {
|
|
16
15
|
readonly xxs: "xxs";
|
|
@@ -28,9 +27,7 @@ interface LayoutComponentProps {
|
|
|
28
27
|
}
|
|
29
28
|
declare const LayoutComponent: _classmatejs_react.CmBaseComponent<react.ClassAttributes<HTMLDivElement> & react.HTMLAttributes<HTMLDivElement> & LayoutComponentProps & Partial<LayoutComponentProps>>;
|
|
30
29
|
|
|
31
|
-
declare const MetaHead: (
|
|
32
|
-
docsConfig: DocsConfig;
|
|
33
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
30
|
+
declare const MetaHead: () => react_jsx_runtime.JSX.Element;
|
|
34
31
|
|
|
35
32
|
declare const ProseContainer: _classmatejs_react.CmBaseComponent<react.ClassAttributes<HTMLElement> & react.HTMLAttributes<HTMLElement> & object>;
|
|
36
33
|
|
|
@@ -40,9 +37,8 @@ declare const UserSettingsSync: ({ theme }: {
|
|
|
40
37
|
|
|
41
38
|
interface DocsPageProps {
|
|
42
39
|
Content: ComponentType;
|
|
43
|
-
docsConfig: DocsConfig;
|
|
44
40
|
}
|
|
45
|
-
declare const DocsPage: ({ Content
|
|
41
|
+
declare const DocsPage: ({ Content }: DocsPageProps) => react_jsx_runtime.JSX.Element;
|
|
46
42
|
|
|
47
43
|
type DocsUserSettingsState = {
|
|
48
44
|
codeBlockChoices: Record<string, string>;
|
package/dist/client.js
CHANGED
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
UserSettingsSync,
|
|
9
9
|
applyThemePreference,
|
|
10
10
|
useDocsUserSettingsStore
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-G7X2IWYG.js";
|
|
12
|
+
import "./chunk-L6ZVB6XH.js";
|
|
13
|
+
import "./chunk-D7IAGT53.js";
|
|
14
|
+
import "./chunk-PYYPYIBD.js";
|
|
15
15
|
export {
|
|
16
16
|
AppLayout,
|
|
17
17
|
DEFAULT_THEME_PREFERENCE,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { ReactNode, ComponentPropsWithoutRef, PropsWithChildren } from 'react';
|
|
3
|
-
|
|
4
|
-
export { b as DocHeading, c as DocPageData, d as DocPageLinkData, e as DocsBrandConfig, f as DocsCollapsible, g as DocsDividerNode, h as DocsFooterConfig, i as DocsGroupNode, j as DocsHeadConfig, k as DocsPageNode, l as DocsPartnerConfig, m as DocsPartnersConfig, n as DocsSectionNode, o as DocsSidebarNode, p as DocsThemeConfig, R as ResolvedDocsBrandConfig, q as ResolvedDocsConfig, r as ResolvedDocsPartnerConfig, s as ResolvedDocsPartnersConfig, t as ResolvedDocsSection, T as ThemePreference } from './types-mvLNHHrf.js';
|
|
3
|
+
export { D as DocHeading, a as DocPageData, b as DocPageLinkData, c as DocsAlgoliaConfig, d as DocsAlgoliaFieldsConfig, e as DocsBrandConfig, f as DocsCollapsible, g as DocsConfig, h as DocsFooterConfig, i as DocsGlobalContextData, j as DocsGraph, k as DocsGroupNode, l as DocsHeadConfig, m as DocsPageNode, n as DocsPartnerConfig, o as DocsPartnersConfig, p as DocsSectionNode, q as DocsSidebarNode, r as DocsThemeConfig, J as JsonPrimitive, s as JsonValue, R as ResolvedDocsAlgoliaConfig, t as ResolvedDocsAlgoliaFieldsConfig, u as ResolvedDocsBrandConfig, v as ResolvedDocsConfig, w as ResolvedDocsPartnerConfig, x as ResolvedDocsPartnersConfig, y as ResolvedDocsSection, T as ThemePreference } from './types-j0kEkMA4.js';
|
|
5
4
|
|
|
6
5
|
type AlertVariant = 'info' | 'warning' | 'error' | 'success';
|
|
7
6
|
declare const Alert: ({ type, heading, children, icon, }: {
|
|
@@ -77,11 +76,6 @@ declare const RepoLink: ({ repo, timestamp }: {
|
|
|
77
76
|
timestamp: TimestampType;
|
|
78
77
|
}) => react_jsx_runtime.JSX.Element;
|
|
79
78
|
|
|
80
|
-
type RenderInlineMarkdownOptions = {
|
|
81
|
-
codeClassName?: string;
|
|
82
|
-
};
|
|
83
|
-
declare const renderInlineMarkdown: (value: ReactNode, { codeClassName }?: RenderInlineMarkdownOptions) => ReactNode;
|
|
84
|
-
|
|
85
79
|
interface TableData {
|
|
86
80
|
headers: string[];
|
|
87
81
|
rows: string[][];
|
|
@@ -132,12 +126,13 @@ declare const UniversalMdxProvider: ({ children, value }: PropsWithChildren<{
|
|
|
132
126
|
}>) => react_jsx_runtime.JSX.Element;
|
|
133
127
|
declare const useUniversalMdxRuntime: () => UniversalMdxRuntimeValue | null;
|
|
134
128
|
|
|
135
|
-
declare const defineDocsConfig: (config: DocsConfig) => DocsConfig;
|
|
136
|
-
|
|
137
|
-
declare const defineDocsGraph: (graph: DocsGraph) => DocsGraph;
|
|
138
|
-
|
|
139
129
|
declare const nivelPublicRoute = "/nivel";
|
|
140
130
|
declare const baseAssets: string;
|
|
141
131
|
declare const nivelAssetUrl: (assetPath: string) => string;
|
|
142
132
|
|
|
143
|
-
|
|
133
|
+
type RenderInlineMarkdownOptions = {
|
|
134
|
+
codeClassName?: string;
|
|
135
|
+
};
|
|
136
|
+
declare const renderInlineMarkdown: (value: ReactNode, { codeClassName }?: RenderInlineMarkdownOptions) => ReactNode;
|
|
137
|
+
|
|
138
|
+
export { Alert, type AlertVariant, ChoiceGroup, CodeBlockTransformer, FileAdded, FileRemoved, type LineBreak, Link, type LinkProps, Overview, type OverviewItem, Pre, RepoLink, Table, type TableData, type TableProps, type UniversalMdxCodeBlockChoiceStore, UniversalMdxProvider, type UniversalMdxRuntimeValue, type UniversalMdxTranslationFn, type UniversalResolveDocLinkArgs, type UniversalResolveDocLinkFn, type UniversalResolveOverviewItemFn, type UniversalResolvedDocLink, type UniversalResolvedOverviewItem, baseAssets, nivelAssetUrl, nivelPublicRoute, renderInlineMarkdown, useUniversalMdxRuntime };
|
package/dist/index.js
CHANGED
|
@@ -8,20 +8,18 @@ import {
|
|
|
8
8
|
Overview,
|
|
9
9
|
Pre,
|
|
10
10
|
RepoLink,
|
|
11
|
-
Table
|
|
12
|
-
|
|
13
|
-
defineDocsGraph
|
|
14
|
-
} from "./chunk-3JJ6TYWL.js";
|
|
11
|
+
Table
|
|
12
|
+
} from "./chunk-G37565OX.js";
|
|
15
13
|
import {
|
|
16
14
|
UniversalMdxProvider,
|
|
17
15
|
renderInlineMarkdown,
|
|
18
16
|
useUniversalMdxRuntime
|
|
19
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-L6ZVB6XH.js";
|
|
20
18
|
import {
|
|
21
19
|
baseAssets,
|
|
22
20
|
nivelAssetUrl,
|
|
23
21
|
nivelPublicRoute
|
|
24
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-PYYPYIBD.js";
|
|
25
23
|
export {
|
|
26
24
|
Alert,
|
|
27
25
|
ChoiceGroup,
|
|
@@ -35,8 +33,6 @@ export {
|
|
|
35
33
|
Table,
|
|
36
34
|
UniversalMdxProvider,
|
|
37
35
|
baseAssets,
|
|
38
|
-
defineDocsConfig,
|
|
39
|
-
defineDocsGraph,
|
|
40
36
|
nivelAssetUrl,
|
|
41
37
|
nivelPublicRoute,
|
|
42
38
|
renderInlineMarkdown,
|
package/dist/mdx.js
CHANGED
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
Pre,
|
|
10
10
|
RepoLink,
|
|
11
11
|
Table
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-G37565OX.js";
|
|
13
|
+
import "./chunk-L6ZVB6XH.js";
|
|
14
|
+
import "./chunk-PYYPYIBD.js";
|
|
15
15
|
|
|
16
|
-
// src/mdx.ts
|
|
16
|
+
// src/mdx/index.ts
|
|
17
17
|
var useMDXComponents = (components) => {
|
|
18
18
|
return {
|
|
19
19
|
Alert,
|
package/dist/mdx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mdx.ts"],"sourcesContent":["import type { ComponentType } from 'react'\nimport {\n Alert,\n ChoiceGroup,\n CodeBlockTransformer,\n FileAdded,\n FileRemoved,\n Link,\n Overview,\n Pre,\n RepoLink,\n Table,\n} from '
|
|
1
|
+
{"version":3,"sources":["../src/mdx/index.ts"],"sourcesContent":["import type { ComponentType } from 'react'\nimport {\n Alert,\n ChoiceGroup,\n CodeBlockTransformer,\n FileAdded,\n FileRemoved,\n Link,\n Overview,\n Pre,\n RepoLink,\n Table,\n} from '../index.js'\n\ntype MdxComponents = Record<string, ComponentType<any> | string>\n\nexport const useMDXComponents = (components?: MdxComponents): MdxComponents => {\n return {\n Alert,\n Link,\n RepoLink,\n Table,\n Overview,\n ChoiceGroup,\n CodeBlockTransformer,\n FileAdded,\n FileRemoved,\n pre: Pre,\n ...components,\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAgBO,IAAM,mBAAmB,CAAC,eAA8C;AAC7E,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,GAAG;AAAA,EACL;AACF;","names":[]}
|
package/dist/runtime/client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { AppLayout, DEFAULT_THEME_PREFERENCE, DocsPage, LayoutComponent, MetaHead, ProseContainer, UserSettingsSync, applyThemePreference, useDocsUserSettingsStore } from '../client.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
|
4
|
-
import '../types-mvLNHHrf.js';
|
|
5
4
|
import '@classmatejs/react';
|
|
5
|
+
import '../types-j0kEkMA4.js';
|
|
6
6
|
import 'zustand/middleware';
|
|
7
7
|
import 'zustand';
|
package/dist/runtime/client.js
CHANGED
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
UserSettingsSync,
|
|
9
9
|
applyThemePreference,
|
|
10
10
|
useDocsUserSettingsStore
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
11
|
+
} from "../chunk-G7X2IWYG.js";
|
|
12
|
+
import "../chunk-L6ZVB6XH.js";
|
|
13
|
+
import "../chunk-D7IAGT53.js";
|
|
14
|
+
import "../chunk-PYYPYIBD.js";
|
|
15
15
|
export {
|
|
16
16
|
AppLayout,
|
|
17
17
|
DEFAULT_THEME_PREFERENCE,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { g as DocsConfig, z as ResolvedDocsPage, v as ResolvedDocsConfig } from '../types-j0kEkMA4.js';
|
|
2
2
|
import { Plugin } from 'vite';
|
|
3
3
|
|
|
4
4
|
declare const getGeneratedPagesRoot: (rootDir: string) => string;
|
|
@@ -10,6 +10,8 @@ declare const syncGeneratedDocsPages: (options: {
|
|
|
10
10
|
declare const nivelPagesPlugin: () => Plugin;
|
|
11
11
|
|
|
12
12
|
declare const resolveDocsConfig: (config: DocsConfig) => ResolvedDocsConfig;
|
|
13
|
-
declare const getResolvedPageById: (config:
|
|
13
|
+
declare const getResolvedPageById: (config: {
|
|
14
|
+
pages: ResolvedDocsPage[];
|
|
15
|
+
}, pageId: string) => ResolvedDocsPage;
|
|
14
16
|
|
|
15
17
|
export { getGeneratedPagesRoot, getResolvedPageById, nivelPagesPlugin, resolveDocsConfig, syncGeneratedDocsPages };
|
|
@@ -2,12 +2,12 @@ import {
|
|
|
2
2
|
getGeneratedPagesRoot,
|
|
3
3
|
nivelPagesPlugin,
|
|
4
4
|
syncGeneratedDocsPages
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-HXZEI3YF.js";
|
|
6
6
|
import {
|
|
7
7
|
getResolvedPageById,
|
|
8
8
|
resolveDocsConfig
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-D7IAGT53.js";
|
|
10
|
+
import "../chunk-PYYPYIBD.js";
|
|
11
11
|
export {
|
|
12
12
|
getGeneratedPagesRoot,
|
|
13
13
|
getResolvedPageById,
|
|
@@ -15,4 +15,4 @@ export {
|
|
|
15
15
|
resolveDocsConfig,
|
|
16
16
|
syncGeneratedDocsPages
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -10,6 +10,10 @@ type DocsThemeConfig = {
|
|
|
10
10
|
type DocsFooterConfig = {
|
|
11
11
|
pagination?: boolean;
|
|
12
12
|
};
|
|
13
|
+
type JsonPrimitive = string | number | boolean | null;
|
|
14
|
+
type JsonValue = JsonPrimitive | JsonValue[] | {
|
|
15
|
+
[key: string]: JsonValue;
|
|
16
|
+
};
|
|
13
17
|
type DocsBrandConfig = {
|
|
14
18
|
text?: string;
|
|
15
19
|
href?: string;
|
|
@@ -28,6 +32,19 @@ type DocsPartnersConfig = {
|
|
|
28
32
|
primary?: DocsPartnerConfig[];
|
|
29
33
|
gold?: DocsPartnerConfig[];
|
|
30
34
|
};
|
|
35
|
+
type DocsAlgoliaFieldsConfig = {
|
|
36
|
+
href?: string;
|
|
37
|
+
title?: string;
|
|
38
|
+
excerpt?: string;
|
|
39
|
+
sectionTitle?: string;
|
|
40
|
+
};
|
|
41
|
+
type DocsAlgoliaConfig = {
|
|
42
|
+
appId: string;
|
|
43
|
+
apiKey: string;
|
|
44
|
+
indexName: string;
|
|
45
|
+
fields?: DocsAlgoliaFieldsConfig;
|
|
46
|
+
searchParams?: Record<string, JsonValue>;
|
|
47
|
+
};
|
|
31
48
|
type DocsHeadConfig = {
|
|
32
49
|
faviconSvg?: string;
|
|
33
50
|
faviconIco?: string;
|
|
@@ -42,6 +59,7 @@ type DocsPageNode = {
|
|
|
42
59
|
title: string;
|
|
43
60
|
slug: string;
|
|
44
61
|
source: string;
|
|
62
|
+
showInNav?: boolean;
|
|
45
63
|
aliases?: string[];
|
|
46
64
|
tableOfContents?: boolean;
|
|
47
65
|
navTitle?: string;
|
|
@@ -50,23 +68,21 @@ type DocsPageNode = {
|
|
|
50
68
|
type DocsGroupNode = {
|
|
51
69
|
kind: 'group';
|
|
52
70
|
id: string;
|
|
53
|
-
title
|
|
71
|
+
title?: string;
|
|
72
|
+
href?: string;
|
|
73
|
+
showInNav?: boolean;
|
|
54
74
|
items: DocsSidebarNode[];
|
|
55
75
|
collapsible?: DocsCollapsible;
|
|
56
76
|
};
|
|
57
|
-
type DocsDividerNode = {
|
|
58
|
-
kind: 'divider';
|
|
59
|
-
id: string;
|
|
60
|
-
title: string;
|
|
61
|
-
};
|
|
62
77
|
type DocsSectionNode = {
|
|
63
78
|
kind: 'section';
|
|
64
79
|
id: string;
|
|
65
80
|
title: string;
|
|
66
81
|
navTitle?: string;
|
|
82
|
+
href?: string;
|
|
67
83
|
items: DocsSidebarNode[];
|
|
68
84
|
};
|
|
69
|
-
type DocsSidebarNode = DocsGroupNode |
|
|
85
|
+
type DocsSidebarNode = DocsGroupNode | DocsPageNode;
|
|
70
86
|
type DocsGraph = {
|
|
71
87
|
items: DocsSectionNode[];
|
|
72
88
|
};
|
|
@@ -80,6 +96,7 @@ type DocsConfig = {
|
|
|
80
96
|
brand?: DocsBrandConfig;
|
|
81
97
|
head?: DocsHeadConfig;
|
|
82
98
|
partners?: DocsPartnersConfig;
|
|
99
|
+
algolia?: DocsAlgoliaConfig;
|
|
83
100
|
};
|
|
84
101
|
type ResolvedDocsBrandConfig = {
|
|
85
102
|
text: string;
|
|
@@ -99,6 +116,19 @@ type ResolvedDocsPartnersConfig = {
|
|
|
99
116
|
primary: ResolvedDocsPartnerConfig[];
|
|
100
117
|
gold: ResolvedDocsPartnerConfig[];
|
|
101
118
|
};
|
|
119
|
+
type ResolvedDocsAlgoliaFieldsConfig = {
|
|
120
|
+
href: string;
|
|
121
|
+
title: string;
|
|
122
|
+
excerpt: string;
|
|
123
|
+
sectionTitle: string;
|
|
124
|
+
};
|
|
125
|
+
type ResolvedDocsAlgoliaConfig = {
|
|
126
|
+
appId: string;
|
|
127
|
+
apiKey: string;
|
|
128
|
+
indexName: string;
|
|
129
|
+
fields: ResolvedDocsAlgoliaFieldsConfig;
|
|
130
|
+
searchParams: Record<string, JsonValue>;
|
|
131
|
+
};
|
|
102
132
|
type ResolvedDocsHeadConfig = DocsHeadConfig;
|
|
103
133
|
type DocHeading = {
|
|
104
134
|
depth: number;
|
|
@@ -115,7 +145,9 @@ type ResolvedDocsPage = DocsPageNode & {
|
|
|
115
145
|
type ResolvedSidebarGroup = {
|
|
116
146
|
kind: 'group';
|
|
117
147
|
id: string;
|
|
118
|
-
title
|
|
148
|
+
title?: string;
|
|
149
|
+
href?: string;
|
|
150
|
+
showInNav: boolean;
|
|
119
151
|
items: ResolvedSidebarNode[];
|
|
120
152
|
collapsible?: DocsCollapsible;
|
|
121
153
|
};
|
|
@@ -125,13 +157,9 @@ type ResolvedSidebarPage = {
|
|
|
125
157
|
title: string;
|
|
126
158
|
navTitle: string;
|
|
127
159
|
href: string;
|
|
160
|
+
showInNav: boolean;
|
|
128
161
|
};
|
|
129
|
-
type
|
|
130
|
-
kind: 'divider';
|
|
131
|
-
id: string;
|
|
132
|
-
title: string;
|
|
133
|
-
};
|
|
134
|
-
type ResolvedSidebarNode = ResolvedSidebarGroup | ResolvedSidebarDivider | ResolvedSidebarPage;
|
|
162
|
+
type ResolvedSidebarNode = ResolvedSidebarGroup | ResolvedSidebarPage;
|
|
135
163
|
type ResolvedDocsSection = {
|
|
136
164
|
id: string;
|
|
137
165
|
title: string;
|
|
@@ -153,25 +181,20 @@ type ResolvedDocsConfig = {
|
|
|
153
181
|
brand: ResolvedDocsBrandConfig;
|
|
154
182
|
head: ResolvedDocsHeadConfig;
|
|
155
183
|
partners: ResolvedDocsPartnersConfig;
|
|
184
|
+
algolia: ResolvedDocsAlgoliaConfig | null;
|
|
156
185
|
pages: ResolvedDocsPage[];
|
|
157
186
|
sections: ResolvedDocsSection[];
|
|
158
187
|
navbarItems: ResolvedNavbarItem[];
|
|
159
188
|
};
|
|
160
189
|
type DocPageLinkData = Pick<ResolvedDocsPage, 'id' | 'title' | 'href' | 'documentTitle'>;
|
|
190
|
+
type DocsGlobalContextData = Pick<ResolvedDocsConfig, 'siteTitle' | 'basePath' | 'theme' | 'footer' | 'brand' | 'head' | 'partners' | 'algolia' | 'pages' | 'navbarItems'> & {
|
|
191
|
+
sidebarSections: ResolvedDocsConfig['sections'];
|
|
192
|
+
};
|
|
161
193
|
type DocPageData = {
|
|
162
|
-
siteTitle: string;
|
|
163
|
-
basePath: '/docs';
|
|
164
|
-
theme: Required<DocsThemeConfig>;
|
|
165
|
-
footer: Required<DocsFooterConfig>;
|
|
166
194
|
page: ResolvedDocsPage;
|
|
167
|
-
activeSectionId: string;
|
|
168
|
-
activeSectionTitle: string;
|
|
169
195
|
headings: DocHeading[];
|
|
170
196
|
previousPage: DocPageLinkData | null;
|
|
171
197
|
nextPage: DocPageLinkData | null;
|
|
172
|
-
navbarItems: ResolvedNavbarItem[];
|
|
173
|
-
sidebarItems: ResolvedSidebarNode[];
|
|
174
|
-
sidebarSections: ResolvedDocsSection[];
|
|
175
198
|
};
|
|
176
199
|
|
|
177
|
-
export type {
|
|
200
|
+
export type { DocHeading as D, JsonPrimitive as J, ResolvedDocsAlgoliaConfig as R, ThemePreference as T, DocPageData as a, DocPageLinkData as b, DocsAlgoliaConfig as c, DocsAlgoliaFieldsConfig as d, DocsBrandConfig as e, DocsCollapsible as f, DocsConfig as g, DocsFooterConfig as h, DocsGlobalContextData as i, DocsGraph as j, DocsGroupNode as k, DocsHeadConfig as l, DocsPageNode as m, DocsPartnerConfig as n, DocsPartnersConfig as o, DocsSectionNode as p, DocsSidebarNode as q, DocsThemeConfig as r, JsonValue as s, ResolvedDocsAlgoliaFieldsConfig as t, ResolvedDocsBrandConfig as u, ResolvedDocsConfig as v, ResolvedDocsPartnerConfig as w, ResolvedDocsPartnersConfig as x, ResolvedDocsSection as y, ResolvedDocsPage as z };
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getCodeBlockMdxPlugins
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UWP3C7JT.js";
|
|
4
4
|
import {
|
|
5
5
|
nivelPagesPlugin
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HXZEI3YF.js";
|
|
7
7
|
import {
|
|
8
8
|
createHeadingSlugger,
|
|
9
9
|
normalizeHeadingTitle
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-D7IAGT53.js";
|
|
11
|
+
import "./chunk-PYYPYIBD.js";
|
|
12
12
|
|
|
13
|
-
// src/
|
|
13
|
+
// src/vike/index.ts
|
|
14
14
|
import mdx from "@mdx-js/rollup";
|
|
15
15
|
import remarkGfm from "remark-gfm";
|
|
16
16
|
|
|
17
|
-
// src/
|
|
17
|
+
// src/mdx/plugins/rehypeDocsHeadings.ts
|
|
18
18
|
import { visit } from "unist-util-visit";
|
|
19
19
|
var headingTags = /* @__PURE__ */ new Set(["h1", "h2", "h3", "h4", "h5", "h6"]);
|
|
20
20
|
var getNodeText = (node) => {
|
|
@@ -61,7 +61,7 @@ var rehypeDocsHeadings = () => {
|
|
|
61
61
|
};
|
|
62
62
|
};
|
|
63
63
|
|
|
64
|
-
// src/
|
|
64
|
+
// src/vike/index.ts
|
|
65
65
|
process.env.VIKE_CRAWL ??= JSON.stringify({ git: false });
|
|
66
66
|
var codeBlockMdxPlugins = getCodeBlockMdxPlugins();
|
|
67
67
|
var viteConfig = {
|
|
@@ -98,4 +98,4 @@ var nivelConfig = {
|
|
|
98
98
|
export {
|
|
99
99
|
nivelConfig as default
|
|
100
100
|
};
|
|
101
|
-
//# sourceMappingURL=
|
|
101
|
+
//# sourceMappingURL=vike.js.map
|
package/dist/vike.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/vike/index.ts","../src/mdx/plugins/rehypeDocsHeadings.ts"],"sourcesContent":["export { nivelConfig as default }\n\nimport mdx from '@mdx-js/rollup'\nimport remarkGfm from 'remark-gfm'\nimport type { Config } from 'vike/types'\nimport type { PluginOption, UserConfig } from 'vite'\nimport { getCodeBlockMdxPlugins } from '../mdx/code-blocks/index.js'\nimport { rehypeDocsHeadings } from '../mdx/plugins/rehypeDocsHeadings.js'\nimport { nivelPagesPlugin } from '../runtime/node/index.js'\n\nprocess.env.VIKE_CRAWL ??= JSON.stringify({ git: false })\n\nconst codeBlockMdxPlugins = getCodeBlockMdxPlugins()\n\nconst viteConfig: UserConfig = {\n plugins: [\n {\n ...mdx({\n providerImportSource: '@unterberg/nivel/mdx',\n ...codeBlockMdxPlugins,\n rehypePlugins: [...codeBlockMdxPlugins.rehypePlugins, rehypeDocsHeadings],\n remarkPlugins: [remarkGfm, ...codeBlockMdxPlugins.remarkPlugins],\n }),\n enforce: 'pre',\n } as PluginOption,\n nivelPagesPlugin(),\n ],\n ssr: {\n noExternal: ['@unterberg/nivel'],\n },\n}\n\nconst nivelConfig = {\n meta: {\n docs: {\n env: {\n server: true,\n client: true,\n },\n global: true,\n },\n },\n prerender: true,\n trailingSlash: true,\n vite: viteConfig as Record<string, unknown>,\n} satisfies Config\n","import { visit } from 'unist-util-visit'\nimport { createHeadingSlugger, normalizeHeadingTitle } from '../../docs/docHeadings.js'\n\nconst headingTags = new Set(['h1', 'h2', 'h3', 'h4', 'h5', 'h6'])\n\nconst getNodeText = (node: any): string => {\n if (!node || typeof node !== 'object') {\n return ''\n }\n\n if (node.type === 'text') {\n return typeof node.value === 'string' ? node.value : ''\n }\n\n if (Array.isArray(node.children)) {\n return node.children.map((child: any) => getNodeText(child)).join('')\n }\n\n return ''\n}\n\nconst getClassNames = (value: unknown): string[] => {\n if (Array.isArray(value)) {\n return value.flatMap((entry) => getClassNames(entry))\n }\n\n if (typeof value === 'string') {\n return value.split(/\\s+/).filter(Boolean)\n }\n\n return []\n}\n\nexport const rehypeDocsHeadings = () => {\n return (tree: any) => {\n const slugify = createHeadingSlugger()\n\n visit(tree as any, 'element', (node: any) => {\n if (!headingTags.has(node?.tagName)) {\n return\n }\n\n const title = normalizeHeadingTitle(getNodeText(node))\n if (!title) {\n return\n }\n\n node.properties ??= {}\n\n if (typeof node.properties.id !== 'string' || node.properties.id === '') {\n node.properties.id = slugify(title)\n }\n\n const classNames = getClassNames(node.properties.className)\n if (!classNames.includes('scroll-mt-24')) {\n node.properties.className = [...classNames, 'scroll-mt-24']\n }\n })\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAEA,OAAO,SAAS;AAChB,OAAO,eAAe;;;ACHtB,SAAS,aAAa;AAGtB,IAAM,cAAc,oBAAI,IAAI,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,CAAC;AAEhE,IAAM,cAAc,CAAC,SAAsB;AACzC,MAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrC,WAAO;AAAA,EACT;AAEA,MAAI,KAAK,SAAS,QAAQ;AACxB,WAAO,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ;AAAA,EACvD;AAEA,MAAI,MAAM,QAAQ,KAAK,QAAQ,GAAG;AAChC,WAAO,KAAK,SAAS,IAAI,CAAC,UAAe,YAAY,KAAK,CAAC,EAAE,KAAK,EAAE;AAAA,EACtE;AAEA,SAAO;AACT;AAEA,IAAM,gBAAgB,CAAC,UAA6B;AAClD,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,QAAQ,CAAC,UAAU,cAAc,KAAK,CAAC;AAAA,EACtD;AAEA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,MAAM,MAAM,KAAK,EAAE,OAAO,OAAO;AAAA,EAC1C;AAEA,SAAO,CAAC;AACV;AAEO,IAAM,qBAAqB,MAAM;AACtC,SAAO,CAAC,SAAc;AACpB,UAAM,UAAU,qBAAqB;AAErC,UAAM,MAAa,WAAW,CAAC,SAAc;AAC3C,UAAI,CAAC,YAAY,IAAI,MAAM,OAAO,GAAG;AACnC;AAAA,MACF;AAEA,YAAM,QAAQ,sBAAsB,YAAY,IAAI,CAAC;AACrD,UAAI,CAAC,OAAO;AACV;AAAA,MACF;AAEA,WAAK,eAAe,CAAC;AAErB,UAAI,OAAO,KAAK,WAAW,OAAO,YAAY,KAAK,WAAW,OAAO,IAAI;AACvE,aAAK,WAAW,KAAK,QAAQ,KAAK;AAAA,MACpC;AAEA,YAAM,aAAa,cAAc,KAAK,WAAW,SAAS;AAC1D,UAAI,CAAC,WAAW,SAAS,cAAc,GAAG;AACxC,aAAK,WAAW,YAAY,CAAC,GAAG,YAAY,cAAc;AAAA,MAC5D;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ADjDA,QAAQ,IAAI,eAAe,KAAK,UAAU,EAAE,KAAK,MAAM,CAAC;AAExD,IAAM,sBAAsB,uBAAuB;AAEnD,IAAM,aAAyB;AAAA,EAC7B,SAAS;AAAA,IACP;AAAA,MACE,GAAG,IAAI;AAAA,QACL,sBAAsB;AAAA,QACtB,GAAG;AAAA,QACH,eAAe,CAAC,GAAG,oBAAoB,eAAe,kBAAkB;AAAA,QACxE,eAAe,CAAC,WAAW,GAAG,oBAAoB,aAAa;AAAA,MACjE,CAAC;AAAA,MACD,SAAS;AAAA,IACX;AAAA,IACA,iBAAiB;AAAA,EACnB;AAAA,EACA,KAAK;AAAA,IACH,YAAY,CAAC,kBAAkB;AAAA,EACjC;AACF;AAEA,IAAM,cAAc;AAAA,EAClB,MAAM;AAAA,IACJ,MAAM;AAAA,MACJ,KAAK;AAAA,QACH,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAAA,MACA,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,WAAW;AAAA,EACX,eAAe;AAAA,EACf,MAAM;AACR;","names":[]}
|