diff --git a/.changeset/nervous-eagles-admire.md b/.changeset/nervous-eagles-admire.md new file mode 100644 index 00000000..330c2b0f --- /dev/null +++ b/.changeset/nervous-eagles-admire.md @@ -0,0 +1,8 @@ +--- +"@sveltepress/theme-default": patch +"@sveltepress/vite": patch +"@sveltepress/create": patch +"@sveltepress/twoslash": patch +--- + +fix: only import ts code snippet would need to add @noError leading line diff --git a/packages/docs-site-zh/src/routes/reference/vite-plugin/+page.md b/packages/docs-site-zh/src/routes/reference/vite-plugin/+page.md index fdb6ec8c..c920f8cc 100644 --- a/packages/docs-site-zh/src/routes/reference/vite-plugin/+page.md +++ b/packages/docs-site-zh/src/routes/reference/vite-plugin/+page.md @@ -73,7 +73,7 @@ title: Vite 插件 :::important[插件顺序]{icon=solar:reorder-outline} 主题提供的 remark 以及 rehype 插件将会在 vite 插件提供的之前调用 例如: -```js title="vite.config.(js|ts)" +```ts title="vite.config.(js|ts)" import { defineConfig } from 'vite' import { sveltepress } from '@sveltepress/vite' import { defaultTheme } from '@sveltepress/theme-default' @@ -81,8 +81,8 @@ import { defaultTheme } from '@sveltepress/theme-default' export default defineConfig({ plugins: [ sveltepress({ - theme: defaultTheme(/* theme options */), - remarkPlugins: [yourRemarkPlugin] + theme: defaultTheme(/* 默认主题选项 */), + remarkPlugins: [/* 你的 remark 插件 */] }) ] }) diff --git a/packages/docs-site/src/routes/reference/vite-plugin/+page.md b/packages/docs-site/src/routes/reference/vite-plugin/+page.md index 62ce2c61..e6c7b4c0 100644 --- a/packages/docs-site/src/routes/reference/vite-plugin/+page.md +++ b/packages/docs-site/src/routes/reference/vite-plugin/+page.md @@ -80,7 +80,7 @@ Read [Rehype plugins](https://github.com/rehypejs/rehype#plugins) for more detai :::important[Plugins order]{icon=solar:reorder-outline} The remark and rehype plugins that theme provide would be called before the plugins provide by vite plugin. For example: -```js title="vite.config.(js|ts)" +```ts title="vite.config.(js|ts)" import { defineConfig } from 'vite' import { sveltepress } from '@sveltepress/vite' import { defaultTheme } from '@sveltepress/theme-default' @@ -89,7 +89,7 @@ export default defineConfig({ plugins: [ sveltepress({ theme: defaultTheme(/* theme options */), - remarkPlugins: [yourRemarkPlugin] + remarkPlugins: [/* yourRemarkPlugin */] }) ] }) diff --git a/packages/theme-default/src/markdown/code-import.ts b/packages/theme-default/src/markdown/code-import.ts index bec7c2bd..342fa412 100644 --- a/packages/theme-default/src/markdown/code-import.ts +++ b/packages/theme-default/src/markdown/code-import.ts @@ -43,7 +43,10 @@ const codeImport: Plugin = () => { if (initialBlankNumbers > 0) valueArr = valueArr.map(line => line.replace(new RegExp(`^ {${initialBlankNumbers}}`), '')) } - const codeStr = `// @noErrors\n${valueArr.join('\n')}` + if (!valueArr[0].startsWith('// @noErrors') && lang === 'ts') + valueArr.unshift('// @noErrors') + + const codeStr = valueArr.join('\n') const node = { type: 'code', lang, diff --git a/packages/vite/src/types.ts b/packages/vite/src/types.ts index 9d321a0c..8b750614 100644 --- a/packages/vite/src/types.ts +++ b/packages/vite/src/types.ts @@ -23,7 +23,7 @@ export interface ResolvedTheme { */ footnoteLabel?: string } -// @noErrors + export interface SveltepressVitePluginOptions { theme?: ResolvedTheme siteConfig?: SiteConfig