@fragments-sdk/cli 0.2.2 → 0.3.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fragments-sdk/cli",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "CLI, MCP server, and dev tools for Fragments design system",
5
5
  "type": "module",
6
6
  "bin": {
@@ -27,10 +27,11 @@ import { loadConfig, discoverSegmentFiles } from "../core/node.js";
27
27
  import { segmentsPlugin } from "./vite-plugin.js";
28
28
 
29
29
  const __dirname = dirname(fileURLToPath(import.meta.url));
30
- const viewerRoot = resolve(__dirname, "..");
30
+ // At runtime, __dirname is dist/. Viewer assets live in src/viewer/.
31
+ const cliPackageRoot = resolve(__dirname, "..");
32
+ const viewerRoot = resolve(cliPackageRoot, "src/viewer");
31
33
  const viewerTailwindConfig = resolve(viewerRoot, "tailwind.config.js");
32
- // The monorepo packages directory (sibling packages)
33
- const packagesRoot = resolve(viewerRoot, "..");
34
+ const packagesRoot = resolve(cliPackageRoot, "..");
34
35
 
35
36
  export interface DevServerOptions {
36
37
  /** Port to run the server on */
@@ -98,6 +98,8 @@ interface CompareResponse {
98
98
  }
99
99
 
100
100
  const __dirname = dirname(fileURLToPath(import.meta.url));
101
+ // At runtime, __dirname is dist/. Viewer assets live in src/viewer/.
102
+ const viewerAssetsRoot = resolve(__dirname, "..", "src/viewer");
101
103
 
102
104
  // Store pending render requests (for internal render page to pick up)
103
105
  const pendingRenders = new Map<
@@ -1551,8 +1553,8 @@ async function loadSegmentsForContext(
1551
1553
  * Serve the viewer HTML page.
1552
1554
  */
1553
1555
  async function serveViewerHTML(res: any, server: ViteDevServer): Promise<void> {
1554
- const viewerRoot = resolve(__dirname, "..");
1555
- const entryPath = resolve(viewerRoot, "src/entry.tsx");
1556
+ const viewerRoot = viewerAssetsRoot;
1557
+ const entryPath = resolve(viewerRoot, "entry.tsx");
1556
1558
 
1557
1559
  try {
1558
1560
  // Read the viewer HTML template
@@ -1578,12 +1580,12 @@ async function serveViewerHTML(res: any, server: ViteDevServer): Promise<void> {
1578
1580
  * This is used for iframe-based component preview with CSS isolation.
1579
1581
  */
1580
1582
  async function servePreviewFrameHTML(res: any, server: ViteDevServer): Promise<void> {
1581
- const viewerRoot = resolve(__dirname, "..");
1582
- const entryPath = resolve(viewerRoot, "src/preview-frame-entry.tsx");
1583
+ const viewerRoot = viewerAssetsRoot;
1584
+ const entryPath = resolve(viewerRoot, "preview-frame-entry.tsx");
1583
1585
 
1584
1586
  try {
1585
1587
  // Read the preview frame HTML template
1586
- let html = await readFile(resolve(viewerRoot, "src/preview-frame.html"), "utf-8");
1588
+ let html = await readFile(resolve(viewerRoot, "preview-frame.html"), "utf-8");
1587
1589
 
1588
1590
  // Rewrite the entry path to use absolute path to viewer package
1589
1591
  html = html.replace("/src/preview-frame-entry.tsx", entryPath);
@@ -1679,12 +1681,12 @@ async function serveRenderHTML(
1679
1681
  server: ViteDevServer,
1680
1682
  renderScript: string
1681
1683
  ): Promise<void> {
1682
- const viewerRoot = resolve(__dirname, "..");
1684
+ const viewerRoot = viewerAssetsRoot;
1683
1685
 
1684
1686
  try {
1685
1687
  // Read the render template
1686
1688
  let html = await readFile(
1687
- resolve(viewerRoot, "src/render-template.html"),
1689
+ resolve(viewerRoot, "render-template.html"),
1688
1690
  "utf-8"
1689
1691
  );
1690
1692