@evjs/bundler-utoopack 0.0.26 → 0.0.27
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/adapter/create-config.d.ts +2 -2
- package/esm/adapter/create-config.d.ts.map +1 -1
- package/esm/adapter/create-config.js +13 -6
- package/esm/adapter/create-config.js.map +1 -1
- package/esm/adapter/index.d.ts +4 -4
- package/esm/adapter/index.d.ts.map +1 -1
- package/esm/adapter/index.js +35 -4
- package/esm/adapter/index.js.map +1 -1
- package/esm/manifest-generator.d.ts +3 -0
- package/esm/manifest-generator.d.ts.map +1 -1
- package/esm/manifest-generator.js +47 -3
- package/esm/manifest-generator.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Map ResolvedEvConfig to a utoopack configuration object.
|
|
3
3
|
*
|
|
4
4
|
* Utoopack uses a JSON-based config with `build()` / `dev()` programmatic API.
|
|
5
|
-
*
|
|
5
|
+
* It handles "use server" directives natively via the
|
|
6
6
|
* `server.functions.callServerModule` config field.
|
|
7
7
|
*/
|
|
8
|
-
import type
|
|
8
|
+
import { type EvPluginHooks, type ResolvedEvConfig } from "@evjs/ev";
|
|
9
9
|
import type { ConfigComplete } from "@utoo/pack";
|
|
10
10
|
/**
|
|
11
11
|
* Create a utoopack configuration object from EvConfig.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-config.d.ts","sourceRoot":"","sources":["../../src/adapter/create-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"create-config.d.ts","sourceRoot":"","sources":["../../src/adapter/create-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,gBAAgB,EACtB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,gBAAgB,CAAC,cAAc,CAAC,EACxC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,GACrC,cAAc,CAsFhB"}
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
* Map ResolvedEvConfig to a utoopack configuration object.
|
|
3
3
|
*
|
|
4
4
|
* Utoopack uses a JSON-based config with `build()` / `dev()` programmatic API.
|
|
5
|
-
*
|
|
5
|
+
* It handles "use server" directives natively via the
|
|
6
6
|
* `server.functions.callServerModule` config field.
|
|
7
7
|
*/
|
|
8
8
|
import { createRequire } from "node:module";
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
const _require = createRequire(import.meta.url);
|
|
11
|
+
import { isMpa, } from "@evjs/ev";
|
|
11
12
|
/**
|
|
12
13
|
* Create a utoopack configuration object from EvConfig.
|
|
13
14
|
*
|
|
@@ -21,11 +22,17 @@ export function createUtoopackConfig(config, cwd, hooks) {
|
|
|
21
22
|
const serverEnabled = config.serverEnabled;
|
|
22
23
|
const utoopackConfig = {
|
|
23
24
|
mode: isProduction ? "production" : "development",
|
|
24
|
-
entry:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
// MPA mode: one entry per page; SPA mode: single entry
|
|
26
|
+
entry: isMpa(config)
|
|
27
|
+
? Object.entries(config.pages ?? {}).map(([name, page]) => ({
|
|
28
|
+
import: page.entry,
|
|
29
|
+
name,
|
|
30
|
+
}))
|
|
31
|
+
: [
|
|
32
|
+
{
|
|
33
|
+
import: config.entry,
|
|
34
|
+
},
|
|
35
|
+
],
|
|
29
36
|
output: {
|
|
30
37
|
path: path.resolve(cwd, serverEnabled ? "dist/client" : "dist"),
|
|
31
38
|
filename: isProduction ? "[name].[contenthash:8].js" : "[name].js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-config.js","sourceRoot":"","sources":["../../src/adapter/create-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-config.js","sourceRoot":"","sources":["../../src/adapter/create-config.ts"],"names":[],"mappings":"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"}
|
package/esm/adapter/index.d.ts
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Utoopack bundler adapter.
|
|
3
3
|
*
|
|
4
4
|
* Implements the BundlerAdapter interface using @utoo/pack's
|
|
5
|
-
* programmatic `build()` and `dev()` APIs.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* programmatic `build()` and `dev()` APIs. Utoopack handles
|
|
6
|
+
* "use server" directives natively — no custom loader or child
|
|
7
|
+
* compiler is needed.
|
|
8
8
|
*/
|
|
9
|
-
import type
|
|
9
|
+
import { type BundlerAdapter } from "@evjs/ev";
|
|
10
10
|
import type { ConfigComplete } from "@utoo/pack";
|
|
11
11
|
export declare const utoopackAdapter: BundlerAdapter<ConfigComplete>;
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapter/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapter/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAoGjD,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,cAAc,CA0F1D,CAAC"}
|
package/esm/adapter/index.js
CHANGED
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
* Utoopack bundler adapter.
|
|
3
3
|
*
|
|
4
4
|
* Implements the BundlerAdapter interface using @utoo/pack's
|
|
5
|
-
* programmatic `build()` and `dev()` APIs.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* programmatic `build()` and `dev()` APIs. Utoopack handles
|
|
6
|
+
* "use server" directives natively — no custom loader or child
|
|
7
|
+
* compiler is needed.
|
|
8
8
|
*/
|
|
9
9
|
import fs from "node:fs";
|
|
10
10
|
import path from "node:path";
|
|
11
|
+
import { isMpa, } from "@evjs/ev";
|
|
11
12
|
import { getLogger } from "@logtape/logtape";
|
|
12
13
|
import { UtoopackManifestGenerator } from "../manifest-generator.js";
|
|
13
14
|
const logger = getLogger(["evjs", "bundler-utoopack"]);
|
|
@@ -26,13 +27,43 @@ async function generateAndEmitHtml(config, cwd, hooks) {
|
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
const { generateHtml } = await import("@evjs/build-tools");
|
|
30
|
+
const { buildHtml } = await import("@evjs/ev");
|
|
31
|
+
// MPA mode: generate one HTML file per page
|
|
32
|
+
if (isMpa(config) && clientManifest.pages) {
|
|
33
|
+
for (const [pageName, pageManifest] of Object.entries(clientManifest.pages)) {
|
|
34
|
+
const pageConfig = config.pages?.[pageName];
|
|
35
|
+
if (!pageConfig)
|
|
36
|
+
continue;
|
|
37
|
+
const doc = generateHtml({
|
|
38
|
+
template: path.resolve(cwd, pageConfig.html),
|
|
39
|
+
js: pageManifest.assets.js,
|
|
40
|
+
css: pageManifest.assets.css,
|
|
41
|
+
assetPrefix: config.assetPrefix,
|
|
42
|
+
});
|
|
43
|
+
const finalHtml = await buildHtml({
|
|
44
|
+
// biome-ignore lint/suspicious/noExplicitAny: DOM interfaces
|
|
45
|
+
doc: doc,
|
|
46
|
+
assetPrefix: config.assetPrefix,
|
|
47
|
+
// biome-ignore lint/suspicious/noExplicitAny: Bundler-agnostic hook generic
|
|
48
|
+
hooks: hooks,
|
|
49
|
+
clientManifest,
|
|
50
|
+
serverManifest,
|
|
51
|
+
});
|
|
52
|
+
const outPath = path.resolve(cwd, isServerEnabled
|
|
53
|
+
? `dist/client/${pageName}.html`
|
|
54
|
+
: `dist/${pageName}.html`);
|
|
55
|
+
await fs.promises.mkdir(path.dirname(outPath), { recursive: true });
|
|
56
|
+
await fs.promises.writeFile(outPath, finalHtml, "utf-8");
|
|
57
|
+
}
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// SPA mode: single index.html
|
|
29
61
|
const doc = generateHtml({
|
|
30
62
|
template: path.resolve(cwd, config.html),
|
|
31
63
|
js: clientManifest.assets.js,
|
|
32
64
|
css: clientManifest.assets.css,
|
|
33
65
|
assetPrefix: config.assetPrefix,
|
|
34
66
|
});
|
|
35
|
-
const { buildHtml } = await import("@evjs/ev");
|
|
36
67
|
const finalHtml = await buildHtml({
|
|
37
68
|
// biome-ignore lint/suspicious/noExplicitAny: DOM interfaces
|
|
38
69
|
doc: doc,
|
package/esm/adapter/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapter/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapter/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,9 @@ export declare class UtoopackManifestGenerator {
|
|
|
10
10
|
* Load client assets from the client `stats.json` emitted by Utoopack.
|
|
11
11
|
* In development, this file may not exist, which is expected since
|
|
12
12
|
* Utoopack handles HTML client injection natively.
|
|
13
|
+
*
|
|
14
|
+
* In MPA mode (multiple entrypoints), assets are collected per-page
|
|
15
|
+
* via `setPageAssets()`. In SPA mode, a single `setAssets()` call is used.
|
|
13
16
|
*/
|
|
14
17
|
loadClientStats(): Promise<void>;
|
|
15
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-generator.d.ts","sourceRoot":"","sources":["../src/manifest-generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest-generator.d.ts","sourceRoot":"","sources":["../src/manifest-generator.ts"],"names":[],"mappings":"AAmHA,qBAAa,yBAAyB;IACpC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,aAAa,CAAuC;gBAEhD,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM;IAMrE;;;;;;;OAOG;IACG,eAAe;IAkCrB;;;;;;OAMG;IACG,eAAe;IA8Bf,WAAW,CAAC,QAAQ,EAAE,MAAM;IAclC,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACG,IAAI;IAoCV;;OAEG;IACG,KAAK;IAWX;;OAEG;IACG,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC3C,KAAK;CAKZ"}
|
|
@@ -9,7 +9,7 @@ const logger = getLogger(["evjs", "bundler-utoopack", "manifest"]);
|
|
|
9
9
|
/**
|
|
10
10
|
* Parse a Utoopack stats.json file and extract asset filenames.
|
|
11
11
|
*
|
|
12
|
-
* @returns lists of JS and CSS asset filenames from the main entrypoint.
|
|
12
|
+
* @returns lists of JS and CSS asset filenames from the main entrypoint (SPA mode).
|
|
13
13
|
*/
|
|
14
14
|
function parseClientStats(stats) {
|
|
15
15
|
const jsFiles = [];
|
|
@@ -30,6 +30,34 @@ function parseClientStats(stats) {
|
|
|
30
30
|
}
|
|
31
31
|
return { js: jsFiles, css: cssFiles };
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Parse a Utoopack stats.json file and extract per-entrypoint asset filenames.
|
|
35
|
+
*
|
|
36
|
+
* @returns a map of entrypoint name → { js, css } asset lists (MPA mode).
|
|
37
|
+
*/
|
|
38
|
+
function parseClientStatsPerEntrypoint(stats) {
|
|
39
|
+
const result = {};
|
|
40
|
+
const entrypoints = stats.entrypoints;
|
|
41
|
+
if (!entrypoints)
|
|
42
|
+
return result;
|
|
43
|
+
for (const [name, entry] of Object.entries(entrypoints)) {
|
|
44
|
+
const js = [];
|
|
45
|
+
const css = [];
|
|
46
|
+
if (Array.isArray(entry.assets)) {
|
|
47
|
+
for (const asset of entry.assets) {
|
|
48
|
+
const assetName = asset.name?.replace(/^\.\//, "");
|
|
49
|
+
if (assetName?.endsWith(".js")) {
|
|
50
|
+
js.push(assetName);
|
|
51
|
+
}
|
|
52
|
+
else if (assetName?.endsWith(".css")) {
|
|
53
|
+
css.push(assetName);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
result[name] = { js, css };
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
33
61
|
/**
|
|
34
62
|
* Parse a Utoopack server stats.json and extract entry filename and
|
|
35
63
|
* server function registrations.
|
|
@@ -78,6 +106,9 @@ export class UtoopackManifestGenerator {
|
|
|
78
106
|
* Load client assets from the client `stats.json` emitted by Utoopack.
|
|
79
107
|
* In development, this file may not exist, which is expected since
|
|
80
108
|
* Utoopack handles HTML client injection natively.
|
|
109
|
+
*
|
|
110
|
+
* In MPA mode (multiple entrypoints), assets are collected per-page
|
|
111
|
+
* via `setPageAssets()`. In SPA mode, a single `setAssets()` call is used.
|
|
81
112
|
*/
|
|
82
113
|
async loadClientStats() {
|
|
83
114
|
const statsPath = path.resolve(this.cwd, this.serverEnabled ? "dist/client/stats.json" : "dist/stats.json");
|
|
@@ -88,8 +119,21 @@ export class UtoopackManifestGenerator {
|
|
|
88
119
|
try {
|
|
89
120
|
const statsStr = await fs.promises.readFile(statsPath, "utf-8");
|
|
90
121
|
const stats = JSON.parse(statsStr);
|
|
91
|
-
|
|
92
|
-
|
|
122
|
+
// Detect MPA: multiple entrypoints in stats.json
|
|
123
|
+
const entrypoints = stats.entrypoints;
|
|
124
|
+
const entrypointCount = entrypoints ? Object.keys(entrypoints).length : 0;
|
|
125
|
+
if (entrypointCount > 1) {
|
|
126
|
+
// MPA mode: per-page assets
|
|
127
|
+
const perPage = parseClientStatsPerEntrypoint(stats);
|
|
128
|
+
for (const [name, { js, css }] of Object.entries(perPage)) {
|
|
129
|
+
this.collector.setPageAssets(name, js, css);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
// SPA mode: single entrypoint
|
|
134
|
+
const { js, css } = parseClientStats(stats);
|
|
135
|
+
this.collector.setAssets(js, css);
|
|
136
|
+
}
|
|
93
137
|
}
|
|
94
138
|
catch (err) {
|
|
95
139
|
logger.warn `Failed to parse client stats.json: ${err}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-generator.js","sourceRoot":"","sources":["../src/manifest-generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"manifest-generator.js","sourceRoot":"","sources":["../src/manifest-generator.ts"],"names":[],"mappings":"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"}
|