@evjs/build-tools 0.0.21 → 0.0.23
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/esm/html.d.ts.map +1 -1
- package/esm/html.js +11 -3
- package/esm/html.js.map +1 -1
- package/esm/routes.d.ts +3 -31
- package/esm/routes.d.ts.map +1 -1
- package/esm/routes.js +1 -72
- package/esm/routes.js.map +1 -1
- package/esm/transforms/client/index.d.ts +1 -1
- package/esm/transforms/client/index.d.ts.map +1 -1
- package/esm/transforms/client/index.js +3 -6
- package/esm/transforms/client/index.js.map +1 -1
- package/esm/transforms/server/index.js +2 -2
- package/esm/transforms/server/index.js.map +1 -1
- package/esm/types.d.ts +6 -6
- package/esm/types.d.ts.map +1 -1
- package/esm/types.js +6 -6
- package/esm/types.js.map +1 -1
- package/package.json +2 -1
package/esm/html.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;CAAE,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,EAAE,EAAE,SAAS,EAAE,CAAC;IAChB,6DAA6D;IAC7D,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;CAAE,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,EAAE,EAAE,SAAS,EAAE,CAAC;IAChB,6DAA6D;IAC7D,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAqCD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,QAAQ,CAgDnE"}
|
package/esm/html.js
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import { DOMParser } from "domparser-rs";
|
|
3
3
|
const parser = new DOMParser();
|
|
4
|
+
/** Escape a string for safe use in an HTML attribute value. */
|
|
5
|
+
function escapeAttr(s) {
|
|
6
|
+
return s
|
|
7
|
+
.replace(/&/g, "&")
|
|
8
|
+
.replace(/"/g, """)
|
|
9
|
+
.replace(/</g, "<")
|
|
10
|
+
.replace(/>/g, ">");
|
|
11
|
+
}
|
|
4
12
|
/** Serialize an attributes record into an HTML attribute string. */
|
|
5
13
|
function renderAttrs(attrs) {
|
|
6
14
|
const parts = [];
|
|
@@ -9,7 +17,7 @@ function renderAttrs(attrs) {
|
|
|
9
17
|
parts.push(key);
|
|
10
18
|
}
|
|
11
19
|
else if (value !== false) {
|
|
12
|
-
parts.push(`${key}="${value}"`);
|
|
20
|
+
parts.push(`${key}="${escapeAttr(value)}"`);
|
|
13
21
|
}
|
|
14
22
|
}
|
|
15
23
|
return parts.length > 0 ? ` ${parts.join(" ")}` : "";
|
|
@@ -44,13 +52,13 @@ export function generateHtml(options) {
|
|
|
44
52
|
// Inject CSS <link> tags into <head>
|
|
45
53
|
for (const cssAsset of css) {
|
|
46
54
|
const { url, attrs } = normalizeAsset(cssAsset);
|
|
47
|
-
const href = `${assetPrefix}${url}
|
|
55
|
+
const href = escapeAttr(`${assetPrefix}${url.startsWith("/") ? url.slice(1) : url}`);
|
|
48
56
|
head.insertAdjacentHTML("beforeend", `<link rel="stylesheet" href="${href}"${renderAttrs(attrs)}>`);
|
|
49
57
|
}
|
|
50
58
|
// Inject JS <script defer> tags into <body>
|
|
51
59
|
for (const jsAsset of js) {
|
|
52
60
|
const { url, attrs } = normalizeAsset(jsAsset);
|
|
53
|
-
const src = `${assetPrefix}${url}
|
|
61
|
+
const src = escapeAttr(`${assetPrefix}${url.startsWith("/") ? url.slice(1) : url}`);
|
|
54
62
|
// defer is default; user can override via attrs (e.g. { defer: false, async: true })
|
|
55
63
|
const hasLoadStrategy = "async" in attrs || "defer" in attrs;
|
|
56
64
|
const defaultAttrs = hasLoadStrategy ? "" : " defer";
|
package/esm/html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AA+BxD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;AAE/B,oEAAoE;AACpE,SAAS,WAAW,CAAC,KAAuC;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"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"}
|
package/esm/routes.d.ts
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
path: string;
|
|
5
|
-
/** Variable name of the parent route (e.g. "rootRoute", "postsRoute"). */
|
|
6
|
-
parentName?: string;
|
|
7
|
-
/** Variable name this route is assigned to (e.g. "homeRoute"). */
|
|
8
|
-
varName?: string;
|
|
9
|
-
}
|
|
1
|
+
import type { ExtractedRoute } from "@evjs/manifest";
|
|
2
|
+
export type { ExtractedRoute } from "@evjs/manifest";
|
|
3
|
+
export { resolveRoutes } from "@evjs/manifest";
|
|
10
4
|
/**
|
|
11
5
|
* Extract route metadata from source code by scanning for createRoute() calls.
|
|
12
6
|
*
|
|
@@ -20,26 +14,4 @@ export interface ExtractedRoute {
|
|
|
20
14
|
* ```
|
|
21
15
|
*/
|
|
22
16
|
export declare function extractRoutes(source: string): ExtractedRoute[];
|
|
23
|
-
/**
|
|
24
|
-
* Resolve a flat list of extracted routes into de-duplicated full paths.
|
|
25
|
-
*
|
|
26
|
-
* Builds the parent-child hierarchy using `varName` / `parentName` and
|
|
27
|
-
* walks the tree to construct full URL paths.
|
|
28
|
-
*
|
|
29
|
-
* Index routes (child `path: "/"` under a non-root parent) are excluded
|
|
30
|
-
* since they resolve to the same URL as their parent route.
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```ts
|
|
34
|
-
* resolveRoutes([
|
|
35
|
-
* { path: "/posts", varName: "postsRoute", parentName: "rootRoute" },
|
|
36
|
-
* { path: "/", varName: "postsIndexRoute", parentName: "postsRoute" },
|
|
37
|
-
* { path: "$postId", varName: "postDetailRoute", parentName: "postsRoute" },
|
|
38
|
-
* ])
|
|
39
|
-
* // => [{ path: "/posts" }, { path: "/posts/$postId" }]
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export declare function resolveRoutes(routes: ExtractedRoute[]): Array<{
|
|
43
|
-
path: string;
|
|
44
|
-
}>;
|
|
45
17
|
//# sourceMappingURL=routes.d.ts.map
|
package/esm/routes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"
|
|
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"}
|
package/esm/routes.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { parseSync } from "@swc/core";
|
|
2
|
+
export { resolveRoutes } from "@evjs/manifest";
|
|
2
3
|
/**
|
|
3
4
|
* Extract route metadata from source code by scanning for createRoute() calls.
|
|
4
5
|
*
|
|
@@ -29,78 +30,6 @@ export function extractRoutes(source) {
|
|
|
29
30
|
}
|
|
30
31
|
return routes;
|
|
31
32
|
}
|
|
32
|
-
/**
|
|
33
|
-
* Resolve a flat list of extracted routes into de-duplicated full paths.
|
|
34
|
-
*
|
|
35
|
-
* Builds the parent-child hierarchy using `varName` / `parentName` and
|
|
36
|
-
* walks the tree to construct full URL paths.
|
|
37
|
-
*
|
|
38
|
-
* Index routes (child `path: "/"` under a non-root parent) are excluded
|
|
39
|
-
* since they resolve to the same URL as their parent route.
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```ts
|
|
43
|
-
* resolveRoutes([
|
|
44
|
-
* { path: "/posts", varName: "postsRoute", parentName: "rootRoute" },
|
|
45
|
-
* { path: "/", varName: "postsIndexRoute", parentName: "postsRoute" },
|
|
46
|
-
* { path: "$postId", varName: "postDetailRoute", parentName: "postsRoute" },
|
|
47
|
-
* ])
|
|
48
|
-
* // => [{ path: "/posts" }, { path: "/posts/$postId" }]
|
|
49
|
-
* ```
|
|
50
|
-
*/
|
|
51
|
-
export function resolveRoutes(routes) {
|
|
52
|
-
// Build a lookup: varName → ExtractedRoute
|
|
53
|
-
const byName = new Map();
|
|
54
|
-
for (const r of routes) {
|
|
55
|
-
if (r.varName) {
|
|
56
|
-
byName.set(r.varName, r);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Walk up the parent chain to build the full path prefix for a route.
|
|
61
|
-
* Returns the full resolved path of the given route variable.
|
|
62
|
-
*/
|
|
63
|
-
function resolveParentPath(route) {
|
|
64
|
-
if (!route.parentName)
|
|
65
|
-
return route.path;
|
|
66
|
-
const parent = byName.get(route.parentName);
|
|
67
|
-
if (!parent) {
|
|
68
|
-
// Parent not in the extracted set (e.g. rootRoute from createRootRoute)
|
|
69
|
-
// — treat as top-level, no prefix.
|
|
70
|
-
return route.path;
|
|
71
|
-
}
|
|
72
|
-
const parentPath = resolveParentPath(parent);
|
|
73
|
-
return joinPaths(parentPath, route.path);
|
|
74
|
-
}
|
|
75
|
-
const seen = new Set();
|
|
76
|
-
const result = [];
|
|
77
|
-
for (const r of routes) {
|
|
78
|
-
const fullPath = resolveParentPath(r);
|
|
79
|
-
// Skip index routes that resolve to the same path as their parent.
|
|
80
|
-
// An index route has path "/" and a parent that is not the root.
|
|
81
|
-
if (r.path === "/" && r.parentName) {
|
|
82
|
-
const parent = byName.get(r.parentName);
|
|
83
|
-
if (parent) {
|
|
84
|
-
// This is a non-root index route — it duplicates the parent path.
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
if (!seen.has(fullPath)) {
|
|
89
|
-
seen.add(fullPath);
|
|
90
|
-
result.push({ path: fullPath });
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return result;
|
|
94
|
-
}
|
|
95
|
-
/** Join two path segments, normalizing double slashes. */
|
|
96
|
-
function joinPaths(parent, child) {
|
|
97
|
-
if (child === "/")
|
|
98
|
-
return parent;
|
|
99
|
-
if (child.startsWith("/"))
|
|
100
|
-
return child;
|
|
101
|
-
const base = parent.endsWith("/") ? parent : `${parent}/`;
|
|
102
|
-
return base + child;
|
|
103
|
-
}
|
|
104
33
|
/** Walk a top-level module item looking for createRoute calls. */
|
|
105
34
|
function collectFromItem(item, routes) {
|
|
106
35
|
// 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":"
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Module } from "@swc/core";
|
|
2
2
|
import { type TransformOptions } from "../../types.js";
|
|
3
|
-
/** Client build: replace function bodies with
|
|
3
|
+
/** Client build: replace function bodies with createServerReference stubs via AST replacement. */
|
|
4
4
|
export declare function buildClientOutput(program: Module, exportNames: string[], options: TransformOptions): Module;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transforms/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,WAAW,CAAC;AACnD,OAAO,EAAW,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transforms/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,WAAW,CAAC;AACnD,OAAO,EAAW,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,kGAAkG;AAClG,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,EAAE,gBAAgB,GACxB,MAAM,CAiBR"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { parseSync } from "@swc/core";
|
|
2
2
|
import { RUNTIME } from "../../types.js";
|
|
3
3
|
import { makeFnId } from "../../utils.js";
|
|
4
|
-
/** Client build: replace function bodies with
|
|
4
|
+
/** Client build: replace function bodies with createServerReference stubs via AST replacement. */
|
|
5
5
|
export function buildClientOutput(program, exportNames, options) {
|
|
6
6
|
const stubs = exportNames.map((name) => {
|
|
7
7
|
const fnId = JSON.stringify(makeFnId(options.rootContext, options.resourcePath, name));
|
|
8
|
-
return
|
|
9
|
-
`export function ${name}(...args) { return ${RUNTIME.clientCall}(${fnId}, args); }`,
|
|
10
|
-
`${RUNTIME.clientRegister}(${name}, ${fnId}, ${JSON.stringify(name)});`,
|
|
11
|
-
].join("\n");
|
|
8
|
+
return `export const ${name} = ${RUNTIME.createServerReference}(${fnId}, ${JSON.stringify(name)});`;
|
|
12
9
|
});
|
|
13
10
|
const injectCode = [
|
|
14
|
-
`import { ${RUNTIME.
|
|
11
|
+
`import { ${RUNTIME.createServerReference} } from "${RUNTIME.clientTransportModule}";`,
|
|
15
12
|
...stubs,
|
|
16
13
|
].join("\n");
|
|
17
14
|
const injectAst = parseSync(injectCode, { syntax: "ecmascript" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transforms/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,EAAyB,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transforms/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,EAAyB,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,kGAAkG;AAClG,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,WAAqB,EACrB,OAAyB;IAEzB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CACzB,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAC1D,CAAC;QACF,OAAO,gBAAgB,IAAI,MAAM,OAAO,CAAC,qBAAqB,IAAI,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG;QACjB,YAAY,OAAO,CAAC,qBAAqB,YAAY,OAAO,CAAC,qBAAqB,IAAI;QACtF,GAAG,KAAK;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAE9B,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -16,10 +16,10 @@ export function buildServerOutput(program, exportNames, options) {
|
|
|
16
16
|
reportToManifest(exportNames, options);
|
|
17
17
|
const registrations = exportNames.map((name) => {
|
|
18
18
|
const fnId = JSON.stringify(makeFnId(options.rootContext, options.resourcePath, name));
|
|
19
|
-
return `${RUNTIME.
|
|
19
|
+
return `${RUNTIME.registerServerReference}(${name}, ${fnId}, ${JSON.stringify(name)});`;
|
|
20
20
|
});
|
|
21
21
|
const injectCode = [
|
|
22
|
-
`import { ${RUNTIME.
|
|
22
|
+
`import { ${RUNTIME.registerServerReference} } from "${RUNTIME.serverModule}";`,
|
|
23
23
|
...registrations,
|
|
24
24
|
].join("\n");
|
|
25
25
|
const injectAst = parseSync(injectCode, { syntax: "ecmascript" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transforms/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,EAAyB,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,gEAAgE;AAChE,SAAS,gBAAgB,CACvB,WAAqB,EACrB,OAAyB;IAEzB,IAAI,CAAC,OAAO,CAAC,UAAU;QAAE,OAAO;IAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACzE,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACvE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,WAAqB,EACrB,OAAyB;IAEzB,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CACzB,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAC1D,CAAC;QACF,OAAO,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transforms/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,EAAyB,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,gEAAgE;AAChE,SAAS,gBAAgB,CACvB,WAAqB,EACrB,OAAyB;IAEzB,IAAI,CAAC,OAAO,CAAC,UAAU;QAAE,OAAO;IAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACzE,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACvE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,WAAqB,EACrB,OAAyB;IAEzB,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CACzB,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAC1D,CAAC;QACF,OAAO,GAAG,OAAO,CAAC,uBAAuB,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG;QACjB,YAAY,OAAO,CAAC,uBAAuB,YAAY,OAAO,CAAC,YAAY,IAAI;QAC/E,GAAG,aAAa;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAElE,iBAAiB;IACjB,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,uBAAuB;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/esm/types.d.ts
CHANGED
|
@@ -40,11 +40,11 @@ export declare const RUNTIME: {
|
|
|
40
40
|
readonly appModule: "@evjs/server";
|
|
41
41
|
/** Module path for client-side transport stubs. */
|
|
42
42
|
readonly clientTransportModule: "@evjs/client/transport";
|
|
43
|
-
/** Server function registration
|
|
44
|
-
readonly
|
|
45
|
-
/** Client-side server
|
|
46
|
-
readonly
|
|
47
|
-
/** Client-side function
|
|
48
|
-
readonly
|
|
43
|
+
/** Server-side function registration (RSC convention). */
|
|
44
|
+
readonly registerServerReference: "registerServerReference";
|
|
45
|
+
/** Client-side server reference factory (RSC convention). */
|
|
46
|
+
readonly createServerReference: "createServerReference";
|
|
47
|
+
/** Client-side transport function for server calls. */
|
|
48
|
+
readonly callServer: "callServer";
|
|
49
49
|
};
|
|
50
50
|
//# sourceMappingURL=types.d.ts.map
|
package/esm/types.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/esm/types.js
CHANGED
|
@@ -15,11 +15,11 @@ export const RUNTIME = {
|
|
|
15
15
|
appModule: "@evjs/server",
|
|
16
16
|
/** Module path for client-side transport stubs. */
|
|
17
17
|
clientTransportModule: "@evjs/client/transport",
|
|
18
|
-
/** Server function registration
|
|
19
|
-
|
|
20
|
-
/** Client-side server
|
|
21
|
-
|
|
22
|
-
/** Client-side function
|
|
23
|
-
|
|
18
|
+
/** Server-side function registration (RSC convention). */
|
|
19
|
+
registerServerReference: "registerServerReference",
|
|
20
|
+
/** Client-side server reference factory (RSC convention). */
|
|
21
|
+
createServerReference: "createServerReference",
|
|
22
|
+
/** Client-side transport function for server calls. */
|
|
23
|
+
callServer: "callServer",
|
|
24
24
|
};
|
|
25
25
|
//# sourceMappingURL=types.js.map
|
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,
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@evjs/build-tools",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.23",
|
|
4
4
|
"description": "Bundler-agnostic build utilities for the ev framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"author": "xusd320",
|
|
32
32
|
"license": "MIT",
|
|
33
33
|
"dependencies": {
|
|
34
|
+
"@evjs/manifest": "*",
|
|
34
35
|
"@swc/core": "^1.15.21",
|
|
35
36
|
"domparser-rs": "^0.1.0"
|
|
36
37
|
},
|