Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/danielroe/roe.dev. This is the code and content for my personal website, built in Nuxt. roe.dev
Something went wrong. Try again.
TypeScript
at feat/sentry
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970import { addPlugin, createResolver, defineNuxtModule, useNuxt } from 'nuxt/kit'
export default defineNuxtModule({ meta: { name: 'components-chunk', }, setup () { const nuxt = useNuxt()
const usedComponents = [ 'ContentRendererMarkdown', 'ProseP', 'ProseA', 'ProseH2', 'ProseH3', 'ProseLi', 'ProseEm', 'ProseOl', 'ProseUl', 'ProsePre', 'ProseStrong', 'ProseBlockquote', 'ProseThead', 'ProseTable', 'ProseTr', 'ProseTd', 'ProseTh', 'ProseTbody', 'ProseCode', 'ProseCodeInline', ]
// Exclude non-prose content components nuxt.hook('components:extend', components => { const toPurge = [] for (const component of components) { if ( 'filePath' in component && component.filePath.includes('@nuxt/content') ) { if (!usedComponents.includes(component.pascalName)) { toPurge.push(component) } } } for (const component of toPurge) { components.splice(components.indexOf(component), 1) } })
nuxt.hook('build:manifest', manifest => { for (const file in manifest) { const chunk = manifest[file]! chunk.imports = chunk.imports?.filter( i => !i.includes('ContentRendererMarkdown'), ) chunk.dynamicImports = chunk.dynamicImports?.filter( i => !i.includes('ContentRendererMarkdown'), ) } })
const { resolve } = createResolver(import.meta.url) addPlugin({ src: resolve('./runtime/remove-renderer.server.ts'), mode: 'server', }) },})