@aravindc26/velu 0.12.3 → 0.12.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/cli.ts +9 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aravindc26/velu",
3
- "version": "0.12.3",
3
+ "version": "0.12.5",
4
4
  "description": "A modern documentation site generator powered by Markdown and JSON configuration",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/cli.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { resolve, join, dirname, delimiter } from "node:path";
2
- import { existsSync, mkdirSync, writeFileSync, readdirSync, copyFileSync, rmSync, readFileSync, statSync } from "node:fs";
2
+ import { existsSync, mkdirSync, writeFileSync, readdirSync, copyFileSync, rmSync, readFileSync, statSync, symlinkSync } from "node:fs";
3
3
  import { spawn } from "node:child_process";
4
4
  import { fileURLToPath } from "node:url";
5
+ import { tmpdir } from "node:os";
5
6
 
6
7
  const __filename = fileURLToPath(import.meta.url);
7
8
  const PACKAGE_ROOT = resolve(dirname(__filename), "..");
@@ -504,12 +505,18 @@ function previewServerEnv(): NodeJS.ProcessEnv {
504
505
  }
505
506
 
506
507
  async function previewServer(port: number) {
507
- const runtimeDir = join(PACKAGE_ROOT, ".velu-preview-out");
508
+ const runtimeDir = join(tmpdir(), "velu-preview-out");
508
509
 
509
510
  // Clean and copy preview engine to runtime dir
510
511
  try { rmSync(runtimeDir, { recursive: true, force: true }); } catch {}
511
512
  copyDirMerge(PREVIEW_ENGINE_DIR, runtimeDir);
512
513
 
514
+ // Symlink node_modules so Next.js can resolve dependencies (fumadocs-mdx, etc.)
515
+ const runtimeNodeModules = join(runtimeDir, "node_modules");
516
+ if (!existsSync(runtimeNodeModules)) {
517
+ symlinkSync(NODE_MODULES_PATH, runtimeNodeModules);
518
+ }
519
+
513
520
  console.log(` Starting preview server on port ${port}...`);
514
521
  console.log(` Preview content dir: ${process.env.PREVIEW_CONTENT_DIR || "(default)"}`);
515
522
  console.log(` Workspace dir: ${process.env.WORKSPACE_DIR || "(default)"}`);