@ubean/build 0.6.7 → 0.6.8

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/dist/index.d.ts CHANGED
@@ -109,7 +109,12 @@ export declare function ssrSingletonProdOptimizeExclude(extra?: string[]): strin
109
109
  export declare function createRoutingVirtualModule(routes: CompiledRoute[], middlewares: CompiledMiddleware[], cwd: string): VirtualModule;
110
110
  export declare function createPagesVirtualModule(pages: CompiledPage[], layouts: CompiledLayout[], cwd: string): VirtualModule;
111
111
  export declare function createMetaVirtualModule(): VirtualModule;
112
- export declare function createAppVirtualModule(apiRoutes: ScannedApiRoute[], middlewares: ScannedMiddleware[], pages: ScannedPageRoute[], srcDir: string): VirtualModule;
112
+ export declare function createAppVirtualModule(apiRoutes: ScannedApiRoute[], middlewares: ScannedMiddleware[], pages: ScannedPageRoute[], srcDir: string,
113
+ /**
114
+ * 页面 glob 扩展名(逗号分隔,无点),来自 `pageGlobExtensions()`。
115
+ * 不传时用全开集合,仅兼容旧调用方式。
116
+ */
117
+ pageExtensions?: string): VirtualModule;
113
118
  export declare function createLocalesVirtualModule(_locales: ScannedLocale[], defaultLocale: string | undefined, srcDir?: string, i18nConfigJson?: string): VirtualModule;
114
119
  //#endregion
115
120
  export { type VirtualModule, type VirtualModuleContext, VirtualModuleRegistry, type VirtualModuleResolver, type VirtualModuleTransform, createVirtualRegistry, defineVirtualModule, defineVirtualModulePrefix, resetVirtualRegistry, useVirtualRegistry };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { _ as defineVirtualModule, a as ssrSingletonProdOptimizeExclude, b as useVirtualRegistry, c as getComponentResolvers, d as registerComponentResolver, f as registerCssImport, g as createVirtualRegistry, h as VirtualModuleRegistry, i as ssrSingletonDevPolicy, l as getCssImports, m as resetModuleRegistry, n as SSR_SINGLETON_OPTIMIZE_EXCLUDE, o as ssrSingletonProdSsr, p as registerHeadScript, r as SSR_SINGLETON_PACKAGES, t as SSR_SINGLETON_DEDUPE, u as getHeadScripts, v as defineVirtualModulePrefix, y as resetVirtualRegistry } from "./ssr-singleton-CUHZLgiO.js";
2
- import { a as createRoutingVirtualModule, i as createPagesVirtualModule, n as createLocalesVirtualModule, o as stripMacros, r as createMetaVirtualModule, s as transformMacros, t as createAppVirtualModule } from "./virtual-modules-B3aE-Fmn.js";
2
+ import { a as createRoutingVirtualModule, i as createPagesVirtualModule, n as createLocalesVirtualModule, o as stripMacros, r as createMetaVirtualModule, s as transformMacros, t as createAppVirtualModule } from "./virtual-modules-C_Onkx4t.js";
3
3
  export { SSR_SINGLETON_DEDUPE, SSR_SINGLETON_OPTIMIZE_EXCLUDE, SSR_SINGLETON_PACKAGES, VirtualModuleRegistry, createAppVirtualModule, createLocalesVirtualModule, createMetaVirtualModule, createPagesVirtualModule, createRoutingVirtualModule, createVirtualRegistry, defineVirtualModule, defineVirtualModulePrefix, getComponentResolvers, getCssImports, getHeadScripts, registerComponentResolver, registerCssImport, registerHeadScript, resetModuleRegistry, resetVirtualRegistry, ssrSingletonDevPolicy, ssrSingletonProdOptimizeExclude, ssrSingletonProdSsr, stripMacros, transformMacros, useVirtualRegistry };
@@ -1 +1 @@
1
- export { T as buildWithEnvironments, v as createIslandsSsrStubPlugin, y as generateCloudflareWorkerEntry, b as generateNodeServerEntry, x as generateStandardHandlerEntry, S as generateVirtualModulesToDisk, C as getPresetBuildConfig, w as serializePagesForEntry } from "./vite--HujaLpA.js";
1
+ export { T as buildWithEnvironments, v as createIslandsSsrStubPlugin, y as generateCloudflareWorkerEntry, b as generateNodeServerEntry, x as generateStandardHandlerEntry, S as generateVirtualModulesToDisk, C as getPresetBuildConfig, w as serializePagesForEntry } from "./vite-C8I25VzP.js";
@@ -157,7 +157,7 @@ function createMetaVirtualModule() {
157
157
  return `export const UBEAN_VERSION = "0.0.1";\nexport default { version: UBEAN_VERSION };`;
158
158
  });
159
159
  }
160
- function createAppVirtualModule(apiRoutes, middlewares, pages, srcDir) {
160
+ function createAppVirtualModule(apiRoutes, middlewares, pages, srcDir, pageExtensions) {
161
161
  return defineVirtualModule("ubean:app-config", () => {
162
162
  const routesJson = apiRoutes.map((r) => JSON.stringify({
163
163
  relativePath: r.relativePath,
@@ -184,7 +184,7 @@ function createAppVirtualModule(apiRoutes, middlewares, pages, srcDir) {
184
184
  return `
185
185
  const routeModules = import.meta.glob([${JSON.stringify(`${prefix}/routes/**/*.{ts,js,mjs}`)}], { eager: false });
186
186
  const middlewareModules = import.meta.glob([${JSON.stringify(`${prefix}/middleware/**/*.{ts,js,mjs}`)}], { eager: false });
187
- const pageModules = import.meta.glob([${JSON.stringify(`${prefix}/pages/**/*.{vue,ts,tsx,js,jsx}`)}], { eager: false });
187
+ const pageModules = import.meta.glob([${JSON.stringify(`${prefix}/pages/**/*.{${pageExtensions ?? "vue,ts,tsx,js,jsx"}}`)}], { eager: false });
188
188
 
189
189
  const _srcPrefix = ${JSON.stringify(prefix)};
190
190
  function normalizeKey(p) {
@@ -1,7 +1,7 @@
1
1
  import { a as ssrSingletonProdOptimizeExclude, g as createVirtualRegistry, o as ssrSingletonProdSsr, x as __exportAll } from "./ssr-singleton-CUHZLgiO.js";
2
- import { a as createRoutingVirtualModule, i as createPagesVirtualModule, n as createLocalesVirtualModule, r as createMetaVirtualModule, s as transformMacros, t as createAppVirtualModule } from "./virtual-modules-B3aE-Fmn.js";
2
+ import { a as createRoutingVirtualModule, i as createPagesVirtualModule, n as createLocalesVirtualModule, r as createMetaVirtualModule, s as transformMacros, t as createAppVirtualModule } from "./virtual-modules-C_Onkx4t.js";
3
3
  import { a as generateOpenApiTypes, i as generateTypes } from "./codegen-CUlE95gB.js";
4
- import { _ as sendWebResponse, a as createServerEntryVirtualModule, d as ensureDevApp, i as createClientEntryVirtualModule, n as ubeanVite, o as createVueAppEntryVirtualModule, r as composeHeadScripts, s as createVuePagesVirtualModule, v as toWebRequest, x as getDevScanCoordinator } from "./vue-Z4wVSxSE.js";
4
+ import { _ as sendWebResponse, a as createServerEntryVirtualModule, d as ensureDevApp, i as createClientEntryVirtualModule, n as ubeanVite, o as createVueAppEntryVirtualModule, r as composeHeadScripts, s as createVuePagesVirtualModule, v as toWebRequest, x as getDevScanCoordinator } from "./vue-QvsTw-R-.js";
5
5
  import { createStaticSsgRenderer } from "./static-render.js";
6
6
  import { prerender, resolvePrerenderStaticDir } from "./prerender.js";
7
7
  import { dirname, isAbsolute, join, relative, resolve } from "pathe";
@@ -35,6 +35,35 @@ function localeVueParamFromI18n(config) {
35
35
  }) || void 0;
36
36
  }
37
37
  //#endregion
38
+ //#region src/page-glob.ts
39
+ /**
40
+ * 页面 glob 的扩展名集合。
41
+ *
42
+ * `import.meta.glob` 的范围必须与扫描器一致,否则会出现「扫描说不含 tsx、产物却
43
+ * 仍然把 `src/pages/*.tsx` 拉进构建」→ 构建期 `[PARSE_ERROR] Unexpected JSX expression`
44
+ * (关掉 JSX 时依然报错的真实原因)。
45
+ *
46
+ * 两类后缀与 `pages.extensions` 无关、始终参与:
47
+ * - `ts` / `js` —— `.reuse.ts` / `.meta.ts`(及其 `.js` 版本)是纯元数据文件
48
+ * (只含 `definePage`),扫描器用独立 pattern `**\/*.reuse.{ts,js}` /
49
+ * `**\/*.meta.{ts,js}` 收起,**不受 `extensions` 影响**。glob 缺了 ts/js,
50
+ * 元数据页能扫到却加载不到 → 路由表与实际可加载模块脱节。
51
+ * 顺带覆盖用户把 `ts` 显式写进 `extensions` 的情形。
52
+ * - `md` / `mdx` —— markdown 页面,由 `markdown` 开关决定加不加
53
+ */
54
+ function pageGlobExtensions(extensions, markdownExts = []) {
55
+ const base = extensions && extensions.length > 0 ? extensions : [
56
+ "vue",
57
+ "tsx",
58
+ "jsx"
59
+ ];
60
+ const all = new Set(base);
61
+ all.add("ts");
62
+ all.add("js");
63
+ for (const ext of markdownExts) all.add(ext);
64
+ return [...all].join(",");
65
+ }
66
+ //#endregion
38
67
  //#region src/ssg-entry.ts
39
68
  /**
40
69
  * 生成 renderer setup 代码块(`_rendererRoutes` + `_pageRenderer`)。
@@ -1453,6 +1482,8 @@ async function generateVirtualModulesToDisk(cwd, config, scanResult, virtualDir,
1453
1482
  const srcDirAbs = resolve(cwd, config.srcDir);
1454
1483
  const viteSrcDir = toVitePath(relative(cwd, srcDirAbs));
1455
1484
  const viteSrcPrefix = viteSrcDir ? `/${viteSrcDir}` : "";
1485
+ const mdPageExts = config.markdown?.enabled === false ? [] : config.markdown?.mdx === true ? ["md", "mdx"] : ["md"];
1486
+ const pagesExts = pageGlobExtensions(config.pages?.extensions, mdPageExts);
1456
1487
  registry.register(createRoutingVirtualModule(scanResult.apiRoutes.map((r) => ({
1457
1488
  method: r.method?.toUpperCase() || "ALL",
1458
1489
  path: r.route,
@@ -1481,7 +1512,7 @@ async function generateVirtualModulesToDisk(cwd, config, scanResult, virtualDir,
1481
1512
  registry.register(createVueAppEntryVirtualModule(scanResult.appEntry));
1482
1513
  registry.register(createClientEntryVirtualModule());
1483
1514
  }
1484
- registry.register(createAppVirtualModule(scanResult.apiRoutes, scanResult.middlewares, hasPages ? scanResult.pages : [], viteSrcPrefix || "/"));
1515
+ registry.register(createAppVirtualModule(scanResult.apiRoutes, scanResult.middlewares, hasPages ? scanResult.pages : [], viteSrcPrefix || "/", pagesExts));
1485
1516
  registry.register(createLocalesVirtualModule(scanResult.locales, scanResult.defaultLocale, viteSrcPrefix || "/", serializeI18nConfig(config.i18n)));
1486
1517
  if (hasServer) registry.register(createServerEntryVirtualModule(scanResult.serverEntry));
1487
1518
  async function writeModule(id, filename, header = "// Auto-generated by ubean\n") {
@@ -1501,7 +1532,7 @@ async function generateVirtualModulesToDisk(cwd, config, scanResult, virtualDir,
1501
1532
  }
1502
1533
  if (hasServer) await writeModule("virtual:ubean-server", "server-entry.ts", "");
1503
1534
  await writeFile(join(virtualDir, "islands-registry.ts"), "export const islands = {};\n", "utf-8");
1504
- const pagesGlob = JSON.stringify(`${viteSrcPrefix}/pages/**/*.{vue,ts,tsx,js,jsx,md,mdx}`);
1535
+ const pagesGlob = JSON.stringify(`${viteSrcPrefix}/pages/**/*.{${pagesExts}}`);
1505
1536
  const routesGlob = JSON.stringify(`${viteSrcPrefix}/routes/**/*.{ts,js,mjs}`);
1506
1537
  const middlewareGlob = JSON.stringify(`${viteSrcPrefix}/middleware/**/*.{ts,js,mjs}`);
1507
1538
  const layoutsGlob = JSON.stringify(`${viteSrcPrefix}/layouts/**/*.{vue,ts}`);
@@ -2598,7 +2629,8 @@ function ubeanPlugin(options) {
2598
2629
  cwd: ubeanConfig.rootDir,
2599
2630
  srcDir: ubeanConfig.srcDir,
2600
2631
  dirs: ubeanConfig.dir,
2601
- ignore: ubeanConfig.scanOptions?.ignore
2632
+ ignore: ubeanConfig.scanOptions?.ignore,
2633
+ pageExtensions: ubeanConfig.pages?.extensions
2602
2634
  });
2603
2635
  const { snapshot: contentSnapshot } = await loadContentForBuild(ubeanConfig.rootDir, ubeanConfig.content);
2604
2636
  await runEnvBuilds(builder, await prepareBuild(createBuildContext({
@@ -2682,6 +2714,7 @@ function ubeanPlugin(options) {
2682
2714
  srcDir: ubeanConfig.srcDir,
2683
2715
  dirs: ubeanConfig.dir,
2684
2716
  ignore: ubeanConfig.scanOptions?.ignore,
2717
+ pageExtensions: ubeanConfig.pages?.extensions,
2685
2718
  source,
2686
2719
  scan: () => scanProjectOnce(),
2687
2720
  reload: () => server.ws.send({ type: "full-reload" }),
@@ -2762,7 +2795,8 @@ function ubeanPlugin(options) {
2762
2795
  cwd: ubeanConfig.rootDir,
2763
2796
  srcDir: ubeanConfig.srcDir,
2764
2797
  dirs: ubeanConfig.dir,
2765
- ignore: ubeanConfig.scanOptions?.ignore
2798
+ ignore: ubeanConfig.scanOptions?.ignore,
2799
+ pageExtensions: ubeanConfig.pages?.extensions
2766
2800
  });
2767
2801
  }
2768
2802
  async function scanAndRegister() {
@@ -2840,7 +2874,7 @@ function ubeanPlugin(options) {
2840
2874
  isDefault: l.isDefault
2841
2875
  })), ubeanConfig.rootDir));
2842
2876
  virtualRegistry.register(createMetaVirtualModule());
2843
- virtualRegistry.register(createAppVirtualModule(result.apiRoutes, result.middlewares, result.pages, viteSrcPrefix || "/"));
2877
+ virtualRegistry.register(createAppVirtualModule(result.apiRoutes, result.middlewares, result.pages, viteSrcPrefix || "/", pageGlobExtensions(ubeanConfig.pages?.extensions, ubeanConfig.markdown?.enabled === false ? [] : ubeanConfig.markdown?.mdx === true ? ["md", "mdx"] : ["md"])));
2844
2878
  virtualRegistry.register(createLocalesVirtualModule(result.locales, result.defaultLocale, viteSrcPrefix || "/", serializeI18nConfig(ubeanConfig.i18n)));
2845
2879
  await maybeGenerateRouteFiles(ubeanConfig, result).catch((err) => {
2846
2880
  console.warn("[ubean:core] Route file generation failed:", err?.message || err);
package/dist/vite.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import { g as createVirtualRegistry } from "./ssr-singleton-CUHZLgiO.js";
2
- import { A as buildDevSsrRoutes, C as peekDevScanCoordinator, D as resolveDevSecurityHeaders, E as createDevAppReady, O as resolveLocaleVueParam, S as onDevScan, T as createDevApp, _ as sendWebResponse, b as createDevScanCoordinator, c as DEVTOOLS_PASS_THROUGH_PREFIXES, d as ensureDevApp, f as getDevApp, g as ubeanDevRequestPlugin, h as isViteResourceRequest, j as toVueRouterPagePath, k as enhanceDevApp, l as collectDevCssLinks, m as isFrameworkHtmlPage, p as injectStylesheetLinks, u as createUbeanRequestHandlers, v as toWebRequest, w as bootstrapDevApp, x as getDevScanCoordinator, y as DEV_SCAN_DIRS } from "./vue-Z4wVSxSE.js";
3
- import { D as createCloudflarePreviewRunner, E as MINIFLARE_INSTALL_HINT, O as defaultLoadMiniflare, _ as ubeanPreviewPlugin, a as createEnvRunnerTransport, c as getDevWorkerEntrySource, d as attachPreviewMiddleware, f as createPreviewMiddleware, g as sendPreviewStatus, h as sendPreviewFile, i as bridgeEnvRunnerInvokes, k as readCompatibilityDate, l as invalidateDevWorkerModules, m as resolvePreviewFile, n as UBEAN_DEV_ENV_NAME, o as createUbeanDevEnvironmentFactory, p as previewMimeType, r as UbeanDevEnvironment, s as DEV_WORKER_FILE, t as ubeanPlugin, u as writeDevWorkerEntry } from "./vite--HujaLpA.js";
2
+ import { A as buildDevSsrRoutes, C as peekDevScanCoordinator, D as resolveDevSecurityHeaders, E as createDevAppReady, O as resolveLocaleVueParam, S as onDevScan, T as createDevApp, _ as sendWebResponse, b as createDevScanCoordinator, c as DEVTOOLS_PASS_THROUGH_PREFIXES, d as ensureDevApp, f as getDevApp, g as ubeanDevRequestPlugin, h as isViteResourceRequest, j as toVueRouterPagePath, k as enhanceDevApp, l as collectDevCssLinks, m as isFrameworkHtmlPage, p as injectStylesheetLinks, u as createUbeanRequestHandlers, v as toWebRequest, w as bootstrapDevApp, x as getDevScanCoordinator, y as DEV_SCAN_DIRS } from "./vue-QvsTw-R-.js";
3
+ import { D as createCloudflarePreviewRunner, E as MINIFLARE_INSTALL_HINT, O as defaultLoadMiniflare, _ as ubeanPreviewPlugin, a as createEnvRunnerTransport, c as getDevWorkerEntrySource, d as attachPreviewMiddleware, f as createPreviewMiddleware, g as sendPreviewStatus, h as sendPreviewFile, i as bridgeEnvRunnerInvokes, k as readCompatibilityDate, l as invalidateDevWorkerModules, m as resolvePreviewFile, n as UBEAN_DEV_ENV_NAME, o as createUbeanDevEnvironmentFactory, p as previewMimeType, r as UbeanDevEnvironment, s as DEV_WORKER_FILE, t as ubeanPlugin, u as writeDevWorkerEntry } from "./vite-C8I25VzP.js";
4
4
  export { DEVTOOLS_PASS_THROUGH_PREFIXES, DEV_SCAN_DIRS, DEV_WORKER_FILE, MINIFLARE_INSTALL_HINT, UBEAN_DEV_ENV_NAME, UbeanDevEnvironment, attachPreviewMiddleware, bootstrapDevApp, bridgeEnvRunnerInvokes, buildDevSsrRoutes, collectDevCssLinks, createCloudflarePreviewRunner, createDevApp, createDevAppReady, createDevScanCoordinator, createEnvRunnerTransport, createPreviewMiddleware, createUbeanDevEnvironmentFactory, createUbeanRequestHandlers, createVirtualRegistry, defaultLoadMiniflare, enhanceDevApp, ensureDevApp, getDevApp, getDevScanCoordinator, getDevWorkerEntrySource, injectStylesheetLinks, invalidateDevWorkerModules, isFrameworkHtmlPage, isViteResourceRequest, onDevScan, peekDevScanCoordinator, previewMimeType, readCompatibilityDate, resolveDevSecurityHeaders, resolveLocaleVueParam, resolvePreviewFile, sendPreviewFile, sendPreviewStatus, sendWebResponse, toVueRouterPagePath, toWebRequest, ubeanDevRequestPlugin, ubeanPlugin, ubeanPreviewPlugin, writeDevWorkerEntry };
@@ -4,7 +4,7 @@ import { createRequire } from "node:module";
4
4
  import { generatePagesModuleSource } from "@ubean/vue/vite";
5
5
  import { isAbsolute, join, normalize, relative, resolve } from "pathe";
6
6
  import { existsSync } from "node:fs";
7
- import { loadUbeanConfig, localePathsOf } from "@ubean/config";
7
+ import { loadUbeanConfig, localePathsOf, resolvePageCompilers } from "@ubean/config";
8
8
  import { scanProject } from "@ubean/scan";
9
9
  import { applyServerConfig, createUbeanApp } from "@ubean/app";
10
10
  import { getVueLocaleParam, toVueRouterLocalePath } from "@ubean/i18n";
@@ -241,7 +241,8 @@ async function createDevApp(options) {
241
241
  cwd: rootDir,
242
242
  srcDir: config.srcDir,
243
243
  dirs: config.dir,
244
- ignore: config.scanOptions?.ignore
244
+ ignore: config.scanOptions?.ignore,
245
+ pageExtensions: config.pages?.extensions
245
246
  });
246
247
  const app = createUbeanApp({
247
248
  rootDir,
@@ -1547,6 +1548,23 @@ export function resolveServerConfig(mode) {
1547
1548
  //#endregion
1548
1549
  //#region src/vue-plugin.ts
1549
1550
  const VUE_PLUGIN_INCLUDE = [/\.vue$/, /\.md$/];
1551
+ /**
1552
+ * 懒加载 `@vitejs/plugin-vue-jsx`。
1553
+ *
1554
+ * 用 `createRequire` 而不是静态 import:只有真的写了 JSX 页面时才付 babel 链路的加载
1555
+ * 成本(`@babel/core` + `@babel/plugin-transform-typescript` + `@vue/babel-plugin-jsx`)。
1556
+ * 同时用 ESM interop 兼容默认导出与具名导出两种形状(不同版本各写过一种)。
1557
+ */
1558
+ function createVueJsxPlugin() {
1559
+ const require = createRequire(import.meta.url);
1560
+ let mod;
1561
+ try {
1562
+ mod = require("@vitejs/plugin-vue-jsx");
1563
+ } catch {
1564
+ throw new Error("[ubean] `pages.extensions` 含 `tsx`/`jsx`,需要 `@vitejs/plugin-vue-jsx`,但未解析到该包。\n pnpm add -D @vitejs/plugin-vue-jsx\n 或从 `ubean.config.ts` 去掉 JSX 扩展名(`pages: { extensions: ['vue'] }`)。");
1565
+ }
1566
+ return (mod?.default?.default ?? mod?.default ?? mod)();
1567
+ }
1550
1568
  const VIRTUAL_PAGES = "virtual:ubean-pages";
1551
1569
  const VIRTUAL_APP = "virtual:ubean-app";
1552
1570
  const VIRTUAL_CLIENT = "virtual:ubean-client-entry";
@@ -1620,7 +1638,8 @@ function ubeanVite(options) {
1620
1638
  cwd: ubeanConfig.rootDir,
1621
1639
  srcDir: ubeanConfig.srcDir,
1622
1640
  dirs: ubeanConfig.dir,
1623
- ignore: ubeanConfig.scanOptions?.ignore
1641
+ ignore: ubeanConfig.scanOptions?.ignore,
1642
+ pageExtensions: ubeanConfig.pages?.extensions
1624
1643
  });
1625
1644
  }
1626
1645
  async function scanAndRegister() {
@@ -1737,6 +1756,7 @@ function ubeanVite(options) {
1737
1756
  srcDir: ubeanConfig.srcDir,
1738
1757
  dirs: ubeanConfig.dir,
1739
1758
  ignore: ubeanConfig.scanOptions?.ignore,
1759
+ pageExtensions: ubeanConfig.pages?.extensions,
1740
1760
  source,
1741
1761
  scan: scanProjectOnce,
1742
1762
  reload: () => server.ws.send({ type: "full-reload" }),
@@ -1756,10 +1776,12 @@ function ubeanVite(options) {
1756
1776
  });
1757
1777
  }
1758
1778
  }];
1759
- if (options.vue !== false) plugins.unshift(vue({
1779
+ const pageCompilers = resolvePageCompilers(ubeanConfig.pages?.extensions ?? []);
1780
+ if (options.vue !== false && pageCompilers.vue) plugins.unshift(vue({
1760
1781
  include: VUE_PLUGIN_INCLUDE,
1761
1782
  template: { compilerOptions: { isCustomElement: (tag) => tag.startsWith("ubean-") } }
1762
1783
  }));
1784
+ if (pageCompilers.jsx) plugins.push(createVueJsxPlugin());
1763
1785
  if (ubeanConfig.i18n?.enabled !== false) plugins.push(VueI18nPlugin({
1764
1786
  include: [join(srcDir, "locales/**")],
1765
1787
  ssr: true,
package/dist/vue.js CHANGED
@@ -1 +1 @@
1
- export { t as VUE_PLUGIN_INCLUDE, r as composeHeadScripts, i as createClientEntryVirtualModule, a as createServerEntryVirtualModule, o as createVueAppEntryVirtualModule, s as createVuePagesVirtualModule, n as default, n as ubeanVite } from "./vue-Z4wVSxSE.js";
1
+ export { t as VUE_PLUGIN_INCLUDE, r as composeHeadScripts, i as createClientEntryVirtualModule, a as createServerEntryVirtualModule, o as createVueAppEntryVirtualModule, s as createVuePagesVirtualModule, n as default, n as ubeanVite } from "./vue-QvsTw-R-.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ubean/build",
3
- "version": "0.6.7",
3
+ "version": "0.6.8",
4
4
  "description": "Vite plugins, production build, SSG prerender, type codegen, and Server Actions plugin for ubean",
5
5
  "files": [
6
6
  "dist"
@@ -49,20 +49,21 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@intlify/unplugin-vue-i18n": "11.2.7",
52
- "@ubean/app": "0.6.7",
53
- "@ubean/client": "0.6.7",
54
- "@ubean/config": "0.6.7",
55
- "@ubean/i18n": "0.6.7",
56
- "@ubean/islands": "0.6.7",
57
- "@ubean/markdown": "0.6.7",
58
- "@ubean/pages": "0.6.7",
59
- "@ubean/preset": "0.6.7",
60
- "@ubean/routes": "0.6.7",
61
- "@ubean/scan": "0.6.7",
62
- "@ubean/server": "0.6.7",
63
- "@ubean/shared": "0.6.7",
64
- "@ubean/vue": "0.6.7",
52
+ "@ubean/app": "0.6.8",
53
+ "@ubean/client": "0.6.8",
54
+ "@ubean/config": "0.6.8",
55
+ "@ubean/i18n": "0.6.8",
56
+ "@ubean/islands": "0.6.8",
57
+ "@ubean/markdown": "0.6.8",
58
+ "@ubean/pages": "0.6.8",
59
+ "@ubean/preset": "0.6.8",
60
+ "@ubean/routes": "0.6.8",
61
+ "@ubean/scan": "0.6.8",
62
+ "@ubean/server": "0.6.8",
63
+ "@ubean/shared": "0.6.8",
64
+ "@ubean/vue": "0.6.8",
65
65
  "@vitejs/plugin-vue": "^6.0.10",
66
+ "@vitejs/plugin-vue-jsx": "^5.1.6",
66
67
  "openapi-typescript": "^7.13.0",
67
68
  "pathe": "^2.0.3",
68
69
  "tinyglobby": "^0.2.17",