@ubean/build 0.1.7 → 0.1.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
@@ -33,8 +33,8 @@ declare function stripMacros(code: string, macros?: readonly string[]): string;
33
33
  declare function transformMacros(code: string, id: string): string | null;
34
34
  //#endregion
35
35
  //#region src/virtual-modules.d.ts
36
- declare function createRoutingVirtualModule(routes: CompiledRoute[], middlewares: CompiledMiddleware[]): VirtualModule;
37
- declare function createPagesVirtualModule(pages: CompiledPage[], layouts: CompiledLayout[]): VirtualModule;
36
+ declare function createRoutingVirtualModule(routes: CompiledRoute[], middlewares: CompiledMiddleware[], cwd: string): VirtualModule;
37
+ declare function createPagesVirtualModule(pages: CompiledPage[], layouts: CompiledLayout[], cwd: string): VirtualModule;
38
38
  declare function createMetaVirtualModule(): VirtualModule;
39
39
  declare function createAppVirtualModule(apiRoutes: ScannedApiRoute[], middlewares: ScannedMiddleware[], pages: ScannedPageRoute[], srcDir: string): VirtualModule;
40
40
  declare function createLocalesVirtualModule(_locales: ScannedLocale[], defaultLocale: string | undefined, srcDir?: string): VirtualModule;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as createRoutingVirtualModule, c as VirtualModuleRegistry, d as resetVirtualRegistry, f as useVirtualRegistry, i as createPagesVirtualModule, l as defineVirtualModule, n as createLocalesVirtualModule, o as stripMacros, r as createMetaVirtualModule, s as transformMacros, t as createAppVirtualModule, u as defineVirtualModulePrefix } from "./virtual-modules-DXIaZdQI.js";
1
+ import { a as createRoutingVirtualModule, c as VirtualModuleRegistry, d as resetVirtualRegistry, f as useVirtualRegistry, i as createPagesVirtualModule, l as defineVirtualModule, n as createLocalesVirtualModule, o as stripMacros, r as createMetaVirtualModule, s as transformMacros, t as createAppVirtualModule, u as defineVirtualModulePrefix } from "./virtual-modules-DR_ynMd0.js";
2
2
  //#region src/registry.ts
3
3
  const REGISTRY_KEY = "__ubean_module_registry__";
4
4
  function getRegistry() {
@@ -1,4 +1,4 @@
1
- import { a as createRoutingVirtualModule, f as useVirtualRegistry, i as createPagesVirtualModule, n as createLocalesVirtualModule, r as createMetaVirtualModule, t as createAppVirtualModule } from "./virtual-modules-DXIaZdQI.js";
1
+ import { a as createRoutingVirtualModule, f as useVirtualRegistry, i as createPagesVirtualModule, n as createLocalesVirtualModule, r as createMetaVirtualModule, t as createAppVirtualModule } from "./virtual-modules-DR_ynMd0.js";
2
2
  import { ubeanPlugin } from "./vite.js";
3
3
  import { join, relative, resolve } from "pathe";
4
4
  import { existsSync } from "node:fs";
@@ -45,7 +45,7 @@ async function generateVirtualModulesToDisk(cwd, config, scanResult, virtualDir)
45
45
  filePath: m.fullPath,
46
46
  order: m.order,
47
47
  global: m.global
48
- }))));
48
+ })), cwd));
49
49
  if (hasPages) {
50
50
  registry.register(createPagesVirtualModule(scanResult.pages.map((p) => ({
51
51
  name: p.name,
@@ -57,7 +57,7 @@ async function generateVirtualModulesToDisk(cwd, config, scanResult, virtualDir)
57
57
  name: l.name,
58
58
  filePath: l.fullPath,
59
59
  isDefault: l.isDefault
60
- }))));
60
+ })), cwd));
61
61
  registry.register(createMetaVirtualModule());
62
62
  registry.register(createVuePagesVirtualModule(scanResult.pages, scanResult.layouts));
63
63
  registry.register(createVueAppEntryVirtualModule(scanResult.appEntry));
@@ -1,3 +1,4 @@
1
+ import { isAbsolute, relative } from "pathe";
1
2
  //#region src/virtual-registry.ts
2
3
  var VirtualModuleRegistry = class {
3
4
  modules = /* @__PURE__ */ new Map();
@@ -173,14 +174,26 @@ function transformVueMacros(code) {
173
174
  function toVitePath(p) {
174
175
  return p.replace(/\\/g, "/");
175
176
  }
176
- function createRoutingVirtualModule(routes, middlewares) {
177
+ /**
178
+ * Convert an absolute file path to a project-root-relative POSIX path.
179
+ *
180
+ * Generated virtual modules should NOT embed absolute paths — they leak the
181
+ * developer's filesystem layout into build artifacts and cause spurious git
182
+ * diffs across machines. This helper normalizes `filePath` fields to
183
+ * portable project-relative paths (e.g. `src/pages/about.vue`).
184
+ */
185
+ function toPortableFilePath(fullPath, cwd) {
186
+ if (!fullPath) return fullPath;
187
+ return (isAbsolute(fullPath) ? relative(cwd, fullPath) : fullPath).replace(/\\/g, "/");
188
+ }
189
+ function createRoutingVirtualModule(routes, middlewares, cwd) {
177
190
  return defineVirtualModule("ubean:routes", () => {
178
- return `export const routes = [\n${routes.map((r) => ` { method: ${JSON.stringify(r.method)}, path: ${JSON.stringify(r.path)}, id: ${JSON.stringify(r.id)}, filePath: ${JSON.stringify(r.filePath)} }`).join(",\n")}\n];\nexport const middlewares = [\n${middlewares.map((m) => ` { path: ${JSON.stringify(m.path)}, filePath: ${JSON.stringify(m.filePath)}, order: ${m.order}, global: ${m.global} }`).join(",\n")}\n];\nexport default { routes, middlewares };`;
191
+ return `export const routes = [\n${routes.map((r) => ` { method: ${JSON.stringify(r.method)}, path: ${JSON.stringify(r.path)}, id: ${JSON.stringify(r.id)}, filePath: ${JSON.stringify(toPortableFilePath(r.filePath, cwd))} }`).join(",\n")}\n];\nexport const middlewares = [\n${middlewares.map((m) => ` { path: ${JSON.stringify(m.path)}, filePath: ${JSON.stringify(toPortableFilePath(m.filePath, cwd))}, order: ${m.order}, global: ${m.global} }`).join(",\n")}\n];\nexport default { routes, middlewares };`;
179
192
  });
180
193
  }
181
- function createPagesVirtualModule(pages, layouts) {
194
+ function createPagesVirtualModule(pages, layouts, cwd) {
182
195
  return defineVirtualModule("ubean:pages", () => {
183
- return `export const pages = {\n${pages.map((p) => ` ${JSON.stringify(p.name)}: { name: ${JSON.stringify(p.name)}, path: ${JSON.stringify(p.path)}, filePath: ${JSON.stringify(p.filePath)}, layout: ${JSON.stringify(p.layout)}, reuseTarget: ${JSON.stringify(p.reuseTarget)} }`).join(",\n")}\n};\nexport const layouts = {\n${layouts.map((l) => ` ${JSON.stringify(l.name)}: { name: ${JSON.stringify(l.name)}, filePath: ${JSON.stringify(l.filePath)}, isDefault: ${l.isDefault} }`).join(",\n")}\n};\nexport type RouteName = ${pages.map((p) => JSON.stringify(p.name)).join(" | ") || "string"};\nexport type LayoutName = ${layouts.map((l) => JSON.stringify(l.name)).join(" | ") || "string"};\nexport default { pages, layouts };`;
196
+ return `export const pages = {\n${pages.map((p) => ` ${JSON.stringify(p.name)}: { name: ${JSON.stringify(p.name)}, path: ${JSON.stringify(p.path)}, filePath: ${JSON.stringify(toPortableFilePath(p.filePath, cwd))}, layout: ${JSON.stringify(p.layout)}, reuseTarget: ${JSON.stringify(p.reuseTarget)} }`).join(",\n")}\n};\nexport const layouts = {\n${layouts.map((l) => ` ${JSON.stringify(l.name)}: { name: ${JSON.stringify(l.name)}, filePath: ${JSON.stringify(toPortableFilePath(l.filePath, cwd))}, isDefault: ${l.isDefault} }`).join(",\n")}\n};\nexport type RouteName = ${pages.map((p) => JSON.stringify(p.name)).join(" | ") || "string"};\nexport type LayoutName = ${layouts.map((l) => JSON.stringify(l.name)).join(" | ") || "string"};\nexport default { pages, layouts };`;
184
197
  });
185
198
  }
186
199
  function createMetaVirtualModule() {
package/dist/vite.js CHANGED
@@ -1,7 +1,7 @@
1
- import { a as createRoutingVirtualModule, f as useVirtualRegistry, i as createPagesVirtualModule, n as createLocalesVirtualModule, r as createMetaVirtualModule, s as transformMacros, t as createAppVirtualModule } from "./virtual-modules-DXIaZdQI.js";
1
+ import { a as createRoutingVirtualModule, f as useVirtualRegistry, i as createPagesVirtualModule, n as createLocalesVirtualModule, r as createMetaVirtualModule, s as transformMacros, t as createAppVirtualModule } from "./virtual-modules-DR_ynMd0.js";
2
+ import { join, relative, resolve } from "pathe";
2
3
  import { loadUbeanConfig, tryGetConfig } from "@ubean/config";
3
4
  import { createUbeanRouter, scanProject } from "@ubean/routing";
4
- import { join, relative, resolve } from "pathe";
5
5
  //#region src/vite.ts
6
6
  const VIRTUAL_MODULES = [
7
7
  "ubean:routes",
@@ -135,7 +135,7 @@ function ubeanPlugin(options) {
135
135
  filePath: m.fullPath,
136
136
  order: m.order,
137
137
  global: m.global
138
- }))));
138
+ })), ubeanConfig.rootDir));
139
139
  virtualRegistry.register(createPagesVirtualModule(result.pages.map((p) => ({
140
140
  name: p.name,
141
141
  path: p.route,
@@ -146,7 +146,7 @@ function ubeanPlugin(options) {
146
146
  name: l.name,
147
147
  filePath: l.fullPath,
148
148
  isDefault: l.isDefault
149
- }))));
149
+ })), ubeanConfig.rootDir));
150
150
  virtualRegistry.register(createMetaVirtualModule());
151
151
  virtualRegistry.register(createAppVirtualModule(result.apiRoutes, result.middlewares, result.pages, viteSrcPrefix || "/"));
152
152
  virtualRegistry.register(createLocalesVirtualModule(result.locales, result.defaultLocale, viteSrcPrefix || "/"));
@@ -186,6 +186,7 @@ async function maybeGenerateRouteFiles(config, scanResult) {
186
186
  const { generateRouteFiles } = await import("@ubean/routing/generator");
187
187
  const result = await generateRouteFiles(scanResult, {
188
188
  cwd: config.rootDir,
189
+ srcDir: config.srcDir,
189
190
  outDir,
190
191
  dtsPath,
191
192
  generateRoutes: generateEntityFiles,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ubean/build",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Core Vite plugin (framework-agnostic) for ubean (ubeanPlugin, virtual modules: routes/pages/meta/app-config/locales, macros)",
5
5
  "files": [
6
6
  "dist"
@@ -26,20 +26,20 @@
26
26
  "dependencies": {
27
27
  "@vitejs/plugin-vue": "^6.0.8",
28
28
  "consola": "^3.4.2",
29
- "oxc-transform": "^0.141.0",
29
+ "oxc-transform": "^0.142.0",
30
30
  "pathe": "^2.0.3",
31
- "@ubean/islands": "0.1.7",
32
- "@ubean/modules": "0.1.7",
33
- "@ubean/preset": "0.1.7",
34
- "@ubean/config": "0.1.7",
35
- "@ubean/routing": "0.1.7",
36
- "@ubean/ssr": "0.1.7",
37
- "@ubean/utils": "0.1.7",
38
- "@ubean/vite": "0.1.7"
31
+ "@ubean/config": "0.1.8",
32
+ "@ubean/modules": "0.1.8",
33
+ "@ubean/islands": "0.1.8",
34
+ "@ubean/preset": "0.1.8",
35
+ "@ubean/ssr": "0.1.8",
36
+ "@ubean/utils": "0.1.8",
37
+ "@ubean/vite": "0.1.8",
38
+ "@ubean/routing": "0.1.8"
39
39
  },
40
40
  "devDependencies": {
41
- "@types/node": "^26.1.1",
42
- "typescript": "6.0.3",
41
+ "@types/node": "^26.1.2",
42
+ "typescript": "7.0.2",
43
43
  "vite": "npm:@voidzero-dev/vite-plus-core@0.2.6",
44
44
  "vite-plus": "0.2.6"
45
45
  },