From c323a99c5de95dd12dfd7470635271d738acc1bb Mon Sep 17 00:00:00 2001 From: Berkan Dirim Date: Fri, 18 Sep 2026 14:32:59 +0200 Subject: [PATCH] Fix: Serve preview scripts as virtual modules for Vite processing The issue was that inline + `; @@ -123,6 +115,25 @@ function createRoutingPlugin(templates: string[]) { } } + // Virtual module for template preview + const previewMatch = url.match(/^\/@htmplar-preview\/([^/?]+)/); + if (previewMatch) { + const templateName = previewMatch[1]; + if (templates.includes(templateName)) { + const ext = await getTemplateExtension(templateName); + const js = `import React from 'react'; +import { createRoot } from 'react-dom/client'; +import EmailComponent from '/src/${templateName}.${ext}'; + +const root = createRoot(document.getElementById('root')); +root.render(React.createElement(EmailComponent));`; + + res.setHeader('Content-Type', 'application/javascript'); + res.end(js); + return; + } + } + next(); }); }, diff --git a/packages/cli/src/commands/init.ts b/packages/cli/src/commands/init.ts index 8b59a68..193297b 100644 --- a/packages/cli/src/commands/init.ts +++ b/packages/cli/src/commands/init.ts @@ -25,13 +25,13 @@ export async function initProject(name?: string) { preview: 'htmplar preview', }, dependencies: { - '@adidas/htmplar-core': '^2.0.0-alpha.6', - '@adidas/htmplar-renderer': '^2.0.0-alpha.6', + '@adidas/htmplar-core': '^2.0.0-alpha.7', + '@adidas/htmplar-renderer': '^2.0.0-alpha.7', react: '^18.3.1', 'react-dom': '^18.3.1', }, devDependencies: { - '@adidas/htmplar-cli': '^2.0.0-alpha.6', + '@adidas/htmplar-cli': '^2.0.0-alpha.7', '@types/react': '^18.3.8', '@types/react-dom': '^18.3.0', typescript: '^5.6.2', diff --git a/packages/core/package.json b/packages/core/package.json index 15b07b3..dbaab44 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@adidas/htmplar-core", - "version": "2.0.0-alpha.6", + "version": "2.0.0-alpha.7", "description": "React component library for email development", "license": "MIT", "repository": { diff --git a/packages/create-htmplar/package.json b/packages/create-htmplar/package.json index 311f67e..c92f3fc 100644 --- a/packages/create-htmplar/package.json +++ b/packages/create-htmplar/package.json @@ -1,6 +1,6 @@ { "name": "@adidas/create-htmplar", - "version": "2.0.0-alpha.6", + "version": "2.0.0-alpha.7", "description": "Scaffold new HTMplar projects", "license": "MIT", "repository": { diff --git a/packages/create-htmplar/src/scaffold.ts b/packages/create-htmplar/src/scaffold.ts index e4e193c..21ce407 100644 --- a/packages/create-htmplar/src/scaffold.ts +++ b/packages/create-htmplar/src/scaffold.ts @@ -172,13 +172,13 @@ async function createPackageJson(config: ProjectConfig) { preview: 'htmplar preview', }, dependencies: { - '@adidas/htmplar-core': '^2.0.0-alpha.6', - '@adidas/htmplar-renderer': '^2.0.0-alpha.6', + '@adidas/htmplar-core': '^2.0.0-alpha.7', + '@adidas/htmplar-renderer': '^2.0.0-alpha.7', react: '^18.3.1', 'react-dom': '^18.3.1', }, devDependencies: { - '@adidas/htmplar-cli': '^2.0.0-alpha.6', + '@adidas/htmplar-cli': '^2.0.0-alpha.7', '@types/react': '^18.3.8', '@types/react-dom': '^18.3.0', ...(config.typescript ? { typescript: '^5.6.2' } : {}), diff --git a/packages/renderer/package.json b/packages/renderer/package.json index 71a1e2c..ee9c23d 100644 --- a/packages/renderer/package.json +++ b/packages/renderer/package.json @@ -1,6 +1,6 @@ { "name": "@adidas/htmplar-renderer", - "version": "2.0.0-alpha.6", + "version": "2.0.0-alpha.7", "description": "Email rendering engine for HTMplar", "license": "MIT", "repository": {