"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createServer = void 0; const path_1 = __importDefault(require("path")); const vite_1 = require("vite"); const config_1 = require("./config"); const markdownToVue_1 = require("./markdownToVue"); const resolver_1 = require("./resolver"); const fs_1 = require("fs"); const debug = require('debug')('vitepress:serve'); const debugHmr = require('debug')('vitepress:hmr'); function createVitePressPlugin({ configPath, site: initialSiteData }) { return ({ app, root, watcher, resolver }) => { const markdownToVue = markdownToVue_1.createMarkdownToVueRenderFn(root); // hot reload .md files as .vue files watcher.on('change', async (file) => { if (file.endsWith('.md')) { debugHmr(`reloading ${file}`); const content = await vite_1.cachedRead(null, file); const timestamp = Date.now(); const { pageData, vueSrc } = markdownToVue(content.toString(), file, timestamp, // do not inject pageData on HMR // it leads to vite to think