@evjs/build-tools 0.0.28 → 0.0.30

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/README.md CHANGED
@@ -51,8 +51,8 @@ const clientStub = await transformServerFile(source, {
51
51
 
52
52
  `transformServerFile()` parses the source with SWC, extracts exported function names via AST traversal, then delegates to the appropriate transform:
53
53
 
54
- - **Client transform** — replaces function bodies with `__fn_call(fnId, args)` transport stubs and registers them via `__fn_register()` for query cache keys.
55
- - **Server transform** — keeps original source, prepends the `registerServerFn` import, and appends registration calls for each export.
54
+ - **Client transform** — replaces function bodies with `createServerReference()` transport stubs.
55
+ - **Server transform** — keeps original source, prepends the `registerServerReference` import, and appends registration calls for each export.
56
56
 
57
57
  ### Entry Generation
58
58
 
@@ -70,9 +70,9 @@ All runtime identifiers (module paths, function names, property names) are centr
70
70
  RUNTIME.serverModule // "@evjs/server/register"
71
71
  RUNTIME.appModule // "@evjs/server"
72
72
  RUNTIME.clientTransportModule // "@evjs/client/transport"
73
- RUNTIME.registerServerFn // "registerServerFn"
74
- RUNTIME.clientCall // "__fn_call"
75
- RUNTIME.clientRegister // "__fn_register"
73
+ RUNTIME.registerServerReference // "registerServerReference"
74
+ RUNTIME.createServerReference // "createServerReference"
75
+ RUNTIME.callServer // "callServer"
76
76
  ```
77
77
 
78
78
  ## Bundler Adapter Pattern
package/esm/index.d.ts CHANGED
@@ -1,13 +1,12 @@
1
1
  /**
2
2
  * Bundler-agnostic build utilities for the ev framework.
3
3
  */
4
- export { generateServerEntry } from "./entry.js";
5
4
  export type { GenerateHtmlOptions, HtmlAsset } from "./html.js";
6
5
  export { generateHtml } from "./html.js";
7
6
  export type { ExtractedRoute } from "./routes.js";
8
- export { extractRoutes, resolveRoutes } from "./routes.js";
7
+ export { detectServerRouteExports, extractRoutes, resolveRoutes, } from "./routes.js";
9
8
  export type { TransformResult } from "./transforms/index.js";
10
9
  export { transformServerFile } from "./transforms/index.js";
11
- export type { ServerEntryConfig, TransformOptions } from "./types.js";
10
+ export type { RouteModuleInfo, ServerEntryConfig, TransformOptions, } from "./types.js";
12
11
  export { detectUseServer, hashString, makeFnId, makeModuleId, parseModuleRef, } from "./utils.js";
13
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EACL,eAAe,EACf,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
package/esm/index.js CHANGED
@@ -1,9 +1,8 @@
1
1
  /**
2
2
  * Bundler-agnostic build utilities for the ev framework.
3
3
  */
4
- export { generateServerEntry } from "./entry.js";
5
4
  export { generateHtml } from "./html.js";
6
- export { extractRoutes, resolveRoutes } from "./routes.js";
5
+ export { detectServerRouteExports, extractRoutes, resolveRoutes, } from "./routes.js";
7
6
  export { transformServerFile } from "./transforms/index.js";
8
7
  export { detectUseServer, hashString, makeFnId, makeModuleId, parseModuleRef, } from "./utils.js";
9
8
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EACL,eAAe,EACf,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EACL,eAAe,EACf,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
package/esm/routes.d.ts CHANGED
@@ -14,4 +14,10 @@ export { resolveRoutes } from "@evjs/manifest";
14
14
  * ```
15
15
  */
16
16
  export declare function extractRoutes(source: string): ExtractedRoute[];
17
+ /**
18
+ * Detect server route handlers exported from this file.
19
+ * Returns the exported variable names, or null if this is not a server route file
20
+ * (i.e., it doesn't import `createRoute` from `@evjs/server`).
21
+ */
22
+ export declare function detectServerRouteExports(source: string): string[] | null;
17
23
  //# sourceMappingURL=routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUrD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAmB9D"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUrD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAmB9D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAoDxE"}
package/esm/routes.js CHANGED
@@ -30,6 +30,56 @@ export function extractRoutes(source) {
30
30
  }
31
31
  return routes;
32
32
  }
33
+ /**
34
+ * Detect server route handlers exported from this file.
35
+ * Returns the exported variable names, or null if this is not a server route file
36
+ * (i.e., it doesn't import `createRoute` from `@evjs/server`).
37
+ */
38
+ export function detectServerRouteExports(source) {
39
+ let ast;
40
+ try {
41
+ ast = parseSync(source, {
42
+ syntax: "typescript",
43
+ tsx: true,
44
+ target: "esnext",
45
+ });
46
+ }
47
+ catch {
48
+ return null;
49
+ }
50
+ let hasServerImport = false;
51
+ for (const item of ast.body) {
52
+ if (item.type === "ImportDeclaration") {
53
+ if (item.source.value === "@evjs/server") {
54
+ for (const spec of item.specifiers) {
55
+ if (spec.type === "ImportSpecifier" &&
56
+ spec.local.value === "createRoute") {
57
+ hasServerImport = true;
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ if (!hasServerImport)
65
+ return null;
66
+ const exports = [];
67
+ for (const item of ast.body) {
68
+ if (item.type === "ExportDeclaration") {
69
+ const decl = item.declaration;
70
+ if (decl.type === "VariableDeclaration") {
71
+ for (const d of decl.declarations) {
72
+ if (d.init &&
73
+ isCreateRouteCall(d.init) &&
74
+ d.id.type === "Identifier") {
75
+ exports.push(d.id.value);
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
81
+ return exports;
82
+ }
33
83
  /** Walk a top-level module item looking for createRoute calls. */
34
84
  function collectFromItem(item, routes) {
35
85
  // export const fooRoute = createRoute({ ... })
package/esm/routes.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@ export interface TransformResult {
7
7
  * Transform a "use server" file for either client or server builds.
8
8
  * This is a pure function with no bundler dependency.
9
9
  *
10
- * - **Server**: keeps original source + appends `registerServerFn()` calls
11
- * - **Client**: replaces function bodies with `__fn_call()` transport stubs
10
+ * - **Server**: keeps original source + appends `registerServerReference()` calls
11
+ * - **Client**: replaces function bodies with `createServerReference()` transport stubs
12
12
  */
13
13
  export declare function transformServerFile(source: string, options: TransformOptions): Promise<TransformResult>;
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -7,8 +7,8 @@ import { extractExportNames } from "./utils.js";
7
7
  * Transform a "use server" file for either client or server builds.
8
8
  * This is a pure function with no bundler dependency.
9
9
  *
10
- * - **Server**: keeps original source + appends `registerServerFn()` calls
11
- * - **Client**: replaces function bodies with `__fn_call()` transport stubs
10
+ * - **Server**: keeps original source + appends `registerServerReference()` calls
11
+ * - **Client**: replaces function bodies with `createServerReference()` transport stubs
12
12
  */
13
13
  export async function transformServerFile(source, options) {
14
14
  if (!detectUseServer(source)) {
package/esm/types.d.ts CHANGED
@@ -8,6 +8,17 @@ export interface ServerEntryConfig {
8
8
  * Middleware module paths to auto-register in the server entry.
9
9
  */
10
10
  middleware?: string[];
11
+ /**
12
+ * Server function endpoint path.
13
+ */
14
+ endpoint?: string;
15
+ }
16
+ /** Information about a discovered server route module. */
17
+ export interface RouteModuleInfo {
18
+ /** Absolute path to the route module file. */
19
+ path: string;
20
+ /** Exported names of the route handlers. */
21
+ exports: string[];
11
22
  }
12
23
  /** Options for transforming a "use server" file. */
13
24
  export interface TransformOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KACvC,IAAI,CAAC;CACX;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;IAClB,8EAA8E;;IAE9E,mFAAmF;;IAEnF,mDAAmD;;IAEnD,0DAA0D;;IAE1D,6DAA6D;;IAE7D,uDAAuD;;CAE/C,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KACvC,IAAI,CAAC;CACX;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;IAClB,8EAA8E;;IAE9E,mFAAmF;;IAEnF,mDAAmD;;IAEnD,0DAA0D;;IAE1D,6DAA6D;;IAE7D,uDAAuD;;CAE/C,CAAC"}
package/esm/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,8EAA8E;IAC9E,YAAY,EAAE,uBAAuB;IACrC,mFAAmF;IACnF,SAAS,EAAE,cAAc;IACzB,mDAAmD;IACnD,qBAAqB,EAAE,wBAAwB;IAC/C,0DAA0D;IAC1D,uBAAuB,EAAE,yBAAyB;IAClD,6DAA6D;IAC7D,qBAAqB,EAAE,uBAAuB;IAC9C,uDAAuD;IACvD,UAAU,EAAE,YAAY;CAChB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,8EAA8E;IAC9E,YAAY,EAAE,uBAAuB;IACrC,mFAAmF;IACnF,SAAS,EAAE,cAAc;IACzB,mDAAmD;IACnD,qBAAqB,EAAE,wBAAwB;IAC/C,0DAA0D;IAC1D,uBAAuB,EAAE,yBAAyB;IAClD,6DAA6D;IAC7D,qBAAqB,EAAE,uBAAuB;IAC9C,uDAAuD;IACvD,UAAU,EAAE,YAAY;CAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evjs/build-tools",
3
- "version": "0.0.28",
3
+ "version": "0.0.30",
4
4
  "description": "Bundler-agnostic build utilities for the ev framework",
5
5
  "type": "module",
6
6
  "publishConfig": {
package/esm/entry.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import { type ServerEntryConfig } from "./types.js";
2
- /**
3
- * Generate the server entry source code from discovered server modules.
4
- *
5
- * The generated entry:
6
- * 1. Imports user's "use server" modules (registering functions as side effects)
7
- * 2. Re-exports them as named exports (_fns_0, _fns_1, ...)
8
- * 3. Re-exports `createApp` so the adapter can create a Hono app that
9
- * shares the same function registry
10
- *
11
- * The adapter layer (node/ecma) handles server startup.
12
- *
13
- * @param config - Server entry configuration (setup imports)
14
- * @param serverModulePaths - Absolute paths to discovered "use server" modules
15
- * @returns The generated server entry source code string
16
- */
17
- export declare function generateServerEntry(config: ServerEntryConfig | undefined, serverModulePaths: string[]): string;
18
- //# sourceMappingURL=entry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,iBAAiB,EAAE,MAAM,EAAE,GAC1B,MAAM,CAqBR"}
package/esm/entry.js DELETED
@@ -1,35 +0,0 @@
1
- import { emitCode } from "./codegen.js";
2
- import { RUNTIME } from "./types.js";
3
- /**
4
- * Generate the server entry source code from discovered server modules.
5
- *
6
- * The generated entry:
7
- * 1. Imports user's "use server" modules (registering functions as side effects)
8
- * 2. Re-exports them as named exports (_fns_0, _fns_1, ...)
9
- * 3. Re-exports `createApp` so the adapter can create a Hono app that
10
- * shares the same function registry
11
- *
12
- * The adapter layer (node/ecma) handles server startup.
13
- *
14
- * @param config - Server entry configuration (setup imports)
15
- * @param serverModulePaths - Absolute paths to discovered "use server" modules
16
- * @returns The generated server entry source code string
17
- */
18
- export function generateServerEntry(config, serverModulePaths) {
19
- const moduleImports = serverModulePaths
20
- .map((p, i) => `import * as _fns_${i} from ${JSON.stringify(p)};`)
21
- .join("\n");
22
- const fnsExports = serverModulePaths.map((_p, i) => `_fns_${i}`);
23
- const allExports = [...fnsExports];
24
- const appExport = config?.entry
25
- ? `export * from ${JSON.stringify(config.entry)};`
26
- : `export { createApp } from "${RUNTIME.appModule}";`;
27
- return emitCode([
28
- appExport,
29
- moduleImports,
30
- allExports.length ? `export { ${allExports.join(", ")} };` : "",
31
- ]
32
- .filter(Boolean)
33
- .join("\n"));
34
- }
35
- //# sourceMappingURL=entry.js.map
package/esm/entry.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAA0B,MAAM,YAAY,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAqC,EACrC,iBAA2B;IAE3B,MAAM,aAAa,GAAG,iBAAiB;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;SACjE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAEnC,MAAM,SAAS,GAAG,MAAM,EAAE,KAAK;QAC7B,CAAC,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;QAClD,CAAC,CAAC,8BAA8B,OAAO,CAAC,SAAS,IAAI,CAAC;IAExD,OAAO,QAAQ,CACb;QACE,SAAS;QACT,aAAa;QACb,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;KAChE;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;AACJ,CAAC"}