vite-plugin-md
raw JSON → 0.21.5 verified Fri May 01 auth: no javascript
Vite plugin for using Markdown files as Vue components. Current stable version is 0.21.5 (latest 0.22.5 has breaking issues with builder API; users of builder APIs should use 0.22.1 or 0.21.5). Released monthly. Key differentiators: supports Vue components in Markdown and Markdown as Vue components; provides a pipeline/builder system for custom transformations; extracted builders (code, meta, link) are external packages. Alternative: vite-plugin-vue-markdown for simpler transformation.
Common errors
error Error: Cannot find module 'vite-plugin-md' ↓
cause Package not installed or incorrect import path.
fix
Run 'npm install vite-plugin-md -D'
error Cannot find module '@vitejs/plugin-vue' ↓
cause Missing peer dependency.
fix
Run 'npm install @vitejs/plugin-vue -D'
error Cannot read properties of undefined (reading 'code') ↓
cause Importing 'code' builder incorrectly from 'vite-plugin-md' instead of '@yankeeinlondon/code-builder'.
fix
Run 'npm install -D @yankeeinlondon/code-builder' and import 'code' from that package.
Warnings
breaking v0.22.2, v0.22.3, v0.22.4 have serious issues with the Builder API; users are advised to revert to v0.22.1 or v0.21.5. ↓
fix Downgrade to v0.22.1: npm install vite-plugin-md@0.22.1
gotcha Peer dependencies (vite, @vitejs/plugin-vue) are not automatically installed; you must install them manually or configure npm to auto-install. ↓
fix Add 'auto-install-peers=true' to .npmrc, or manually install peer deps: npm install vite @vitejs/plugin-vue
breaking ESM-only since v0.22; CommonJS require will throw an error. ↓
fix Use import syntax (ESM) in your project; ensure package.json has 'type': 'module'.
deprecated v0.13 introduced pipeline/builder engine; the old 'simple' Markdown-to-Vue transformation was moved to vite-plugin-vue-markdown. Using vite-plugin-md with old config may break. ↓
fix If you need the old behavior, use 'vite-plugin-vue-markdown'. For new projects, use vite-plugin-md with builders.
Install
npm install vite-plugin-md yarn add vite-plugin-md pnpm add vite-plugin-md Imports
- Markdown wrong
const Markdown = require('vite-plugin-md')correctimport Markdown from 'vite-plugin-md' - Markdown wrong
import { Markdown } from 'vite-plugin-md'correctimport Markdown from 'vite-plugin-md' - BuilderApi type
import type { BuilderApi } from 'vite-plugin-md' - code builder wrong
import { code } from 'vite-plugin-md'correctimport code from '@yankeeinlondon/code-builder'
Quickstart
// vite.config.ts
import { defineConfig } from 'vite'
import Vue from '@vitejs/plugin-vue'
import Markdown from 'vite-plugin-md'
export default defineConfig({
plugins: [
Vue({
include: [/\.vue$/, /\.md$/],
}),
Markdown(),
],
})