feat!: upgrade to Nuxt 4 for kit and client (#901) · nuxt/devtools@bc5817e

11

import type { BuiltinLanguage } from 'shiki'

2-

import { defineNuxtModule, extendViteConfig, logger } from '@nuxt/kit'

2+

import { addVitePlugin, defineNuxtModule, logger } from '@nuxt/kit'

33

import { consola } from 'consola'

44

import LinkAttributes from 'markdown-it-link-attributes'

55

import { createHighlighter } from 'shiki'

@@ -24,39 +24,38 @@ export default defineNuxtModule({

24242525

nuxt.options.extensions.push('.md')

262627-

extendViteConfig((config) => {

28-

config.plugins!.push(

29-

Markdown({

30-

async markdownItSetup(md) {

31-

md.use(LinkAttributes, {

32-

matcher: (link: string) => /^https?:\/\//.test(link),

33-

attrs: {

34-

target: '_blank',

35-

rel: 'noopener',

27+

addVitePlugin(() => {

28+

return Markdown({

29+

frontmatter: false,

30+

async markdownItSetup(md) {

31+

md.use(LinkAttributes, {

32+

matcher: (link: string) => /^https?:\/\//.test(link),

33+

attrs: {

34+

target: '_blank',

35+

rel: 'noopener',

36+

},

37+

})

38+39+

const highlighter = await createHighlighter({

40+

themes: [

41+

'vitesse-dark',

42+

'vitesse-light',

43+

],

44+

langs: Object.keys(bundledLanguages),

45+

})

46+47+

md.options.highlight = (code, lang) => {

48+

const _lang = (highlighter.getLoadedLanguages().includes(lang) ? lang : 'text') as BuiltinLanguage

49+

return highlighter.codeToHtml(code, {

50+

lang: _lang || 'text',

51+

themes: {

52+

dark: 'vitesse-dark',

53+

light: 'vitesse-light',

3654

},

3755

})

38-39-

const highlighter = await createHighlighter({

40-

themes: [

41-

'vitesse-dark',

42-

'vitesse-light',

43-

],

44-

langs: Object.keys(bundledLanguages),

45-

})

46-47-

md.options.highlight = (code, lang) => {

48-

const _lang = (highlighter.getLoadedLanguages().includes(lang) ? lang : 'text') as BuiltinLanguage

49-

return highlighter.codeToHtml(code, {

50-

lang: _lang || 'text',

51-

themes: {

52-

dark: 'vitesse-dark',

53-

light: 'vitesse-light',

54-

},

55-

})

56-

}

57-

},

58-

}),

59-

)

60-

})

56+

}

57+

},

58+

})

59+

}, { server: false, client: true })

6160

},

6261

})