I'm trying to use this piece of code (from solid-start repo) to import my mdx or md files:
export const mods = /*#__PURE__*/ import.meta.glob<
true,
any,
{
getHeadings: () => {
depth: number;
text: string;
slug: string;
}[];
getFrontMatter: () => {
title?: string;
sectionTitle?: string;
order?: number;
section?: string;
sectionOrder?: number;
subsection?: string;
};
}
>("./docs/**/*.{md,mdx}", {
eager: true,
query: {
meta: ""
}
});
|
export const mods = /*#__PURE__*/ import.meta.glob< |
However, if I don't activate mdx in the vite.config.ts, the getHeadings() and getFrontMatter() functions are not available.
If I add mdx to the vite.config.ts as the doc shows:
import solid from "solid-start/vite";
import { defineConfig } from "vite";
import unocss from "unocss/vite";
import unocssPlugin from "unocss/vite";
import mdx from "@mdx-js/rollup";
import remarkGfm from "remark-gfm";
export default defineConfig({
plugins: [
unocssPlugin(),
unocss(),
{
...(await import("@mdx-js/rollup")).default({
jsx: true,
jsxImportSource: "solid-js",
providerImportSource: "solid-mdx",
}),
enforce: "pre",
},
mdx({
jsxImportSource: "solid-jsx",
remarkPlugins: [remarkGfm],
}),
solid({
extensions: [".mdx", ".md"],
ssr: true,
}),
],
});
When I start the server, I get this error:
An unhandled error occured: Error: Cannot parse given Error object
at parse (file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/error-stack-parser-es@0.1.1/node_modules/error-stack-parser-es/dist/index.mjs:12:11)
at parseError (file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/vite-plugin-inspect@0.7.38_rollup@3.28.1_vite@4.4.9/node_modules/vite-plugin-inspect/dist/index.mjs:1280:17)
at file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/vite-plugin-inspect@0.7.38_rollup@3.28.1_vite@4.4.9/node_modules/vite-plugin-inspect/dist/index.mjs:940:26
at async Object.transform (file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/vite@4.4.9/node_modules/vite/dist/node/chunks/dep-df561101.js:44283:30)
at async loadAndTransform (file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/vite@4.4.9/node_modules/vite/dist/node/chunks/dep-df561101.js:54950:29)
at async instantiateModule (file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/vite@4.4.9/node_modules/vite/dist/node/chunks/dep-df561101.js:55875:10)
GET http://localhost:3000/favicon.ico
An unhandled error occured: Error: Cannot parse given Error object
at parse (file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/error-stack-parser-es@0.1.1/node_modules/error-stack-parser-es/dist/index.mjs:12:11)
at parseError (file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/vite-plugin-inspect@0.7.38_rollup@3.28.1_vite@4.4.9/node_modules/vite-plugin-inspect/dist/index.mjs:1280:17)
at file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/vite-plugin-inspect@0.7.38_rollup@3.28.1_vite@4.4.9/node_modules/vite-plugin-inspect/dist/index.mjs:940:26
at async Object.transform (file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/vite@4.4.9/node_modules/vite/dist/node/chunks/dep-df561101.js:44283:30)
at async loadAndTransform (file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/vite@4.4.9/node_modules/vite/dist/node/chunks/dep-df561101.js:54950:29)
at async instantiateModule (file:///C:/Users/xarthurx/source/docRepo/website_beyondDisciplineRemake/node_modules/.pnpm/vite@4.4.9/node_modules/vite/dist/node/chunks/dep-df561101.js:55875:10)
If I do
export default defineConfig({
plugins: [
unocssPlugin(),
unocss(),
mdx({
jsxImportSource: "solid-jsx",
remarkPlugins: [remarkGfm],
}),
solid({
extensions: [".mdx", ".md"],
ssr: true,
}),
],
});
Then the the frontmatter of the mdx files cannot be parsed correctly:
11:30:38 [vite] Error when evaluating SSR module ~start/entry-server: failed to import "/node_modules/.pnpm/solid-start@0.3.4_@solidjs+meta@0.28.6_@solidjs+router@0.8.3_solid-js@1.7.11_solid-start-node@0.3.4_vite@4.4.9/node_modules/solid-start/entry-server/index.ts"
|- SyntaxError: C:\Users\xarthurx\source\docRepo\website_beyondDisciplineRemake\src\routes\(index)\blog\test2.md: Invalid left-hand side in prefix operation. (1:2)
> 1 | ---
| ^
2 | title: Project setup
3 | section: getting-started
4 | ---
It seems I cannot get the mdx package work with solidjs anyhow...
I'm trying to use this piece of code (from solid-start repo) to import my
mdxormdfiles:solid-start/docs.root.tsx
Line 20 in b2a09b3
However, if I don't activate
mdxin thevite.config.ts, thegetHeadings()andgetFrontMatter()functions are not available.If I add
mdxto thevite.config.tsas the doc shows:When I start the server, I get this error:
If I do
Then the the frontmatter of the
mdxfiles cannot be parsed correctly:It seems I cannot get the
mdxpackage work withsolidjsanyhow...