@microsoft/webui 0.0.20 → 0.0.21

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
@@ -10,7 +10,11 @@ High-performance server-side rendering framework. Compiles HTML templates into a
10
10
  npm install @microsoft/webui
11
11
  ```
12
12
 
13
- The package automatically installs the correct platform-specific native binary for your OS and architecture (Windows, macOS, Linux - x64 and arm64).
13
+ The package automatically installs the correct platform-specific native binary
14
+ for your OS and architecture (Windows, macOS, Linux - x64 and arm64). The Node
15
+ API requires that native addon and surfaces loading errors directly. It never
16
+ falls back to a subprocess. Use the `webui` CLI explicitly for filesystem
17
+ builds.
14
18
 
15
19
  ## Quick start
16
20
 
@@ -36,23 +40,30 @@ Compiles an application directory of HTML templates into a binary protocol.
36
40
  const result = build({
37
41
  appDir: "./src", // Path to the template directory
38
42
  entry: "index.html", // Entry file (default: "index.html")
39
- css: "link", // CSS strategy: "link" or "style"
43
+ css: "link", // CSS strategy: "link", "style", or "module"
40
44
  plugin: "webui", // Parser plugin name
41
45
  components: [], // Additional component sources
42
46
  componentAssetRoots: ["settings-dialog"], // Static .webui.js asset roots
47
+ metafile: true, // Return an esbuild-compatible asset graph
43
48
  cssFileNameTemplate: "[name]-[hash].[ext]", // CSS/component asset filename template
44
49
  cssPublicBase: "https://cdn.example.com/assets", // Optional CDN/public href base
45
50
  theme: "./themes/brand.json", // Optional design-token theme validation
46
- outDir: "./dist", // Output directory for CLI fallback
47
51
  });
48
52
 
49
53
  // result.protocol - Buffer containing the compiled protocol
50
54
  // result.cssFiles - Array of [filename, content, ...] pairs
51
55
  // result.componentAssetFiles - Array of [filename, ESM content, ...] pairs
56
+ // result.metafile - Optional esbuild-compatible graph JSON
52
57
  // result.warnings - Array of non-fatal build advisory diagnostics
53
58
  // result.stats - { durationMs, fragmentCount, componentCount, cssFileCount, protocolSizeBytes, tokenCount }
54
59
  ```
55
60
 
61
+ Static component assets use a root/chunk graph. Entry-reachable dependencies
62
+ remain external, dependencies used by one root stay inline, and dependencies
63
+ with an identical multi-root consumer set are emitted once as dynamic chunks.
64
+ Asset-only records are omitted from `result.protocol`. Component assets cannot
65
+ be combined with `<route>`.
66
+
56
67
  When `theme` is provided, every required CSS token must exist in the theme
57
68
  after local and ancestor custom-property definitions are excluded. A `var()`
58
69
  usage with a literal fallback (e.g. `var(--brand, #000)`) is exempt. Missing
package/bin/webui CHANGED
Binary file
package/dist/index.d.ts CHANGED
@@ -12,12 +12,12 @@ export interface BuildOptions {
12
12
  components?: string[];
13
13
  /** Root component tags emitted as static `.webui.js` ESM assets. */
14
14
  componentAssetRoots?: string[];
15
+ /** Generate and return an esbuild-compatible component asset metafile. */
16
+ metafile?: boolean;
15
17
  /** Emitted asset filename template for Link-mode CSS and component assets. Tokens: [name], [hash], [ext]. */
16
18
  cssFileNameTemplate?: string;
17
19
  /** Optional base URL/path prefix for Link-mode CSS hrefs. */
18
20
  cssPublicBase?: string;
19
- /** Output directory (used by CLI fallback for build-to-disk). */
20
- outDir?: string;
21
21
  /** Design token theme: a JSON file path or npm package name. */
22
22
  theme?: string;
23
23
  /** Projection manifest file paths, merged in order. */
@@ -51,6 +51,8 @@ export interface BuildResult {
51
51
  cssFiles: string[];
52
52
  /** Static component asset files as alternating [filename, content, ...]. */
53
53
  componentAssetFiles: string[];
54
+ /** Esbuild-compatible component asset metafile JSON when requested. */
55
+ metafile?: string;
54
56
  /** Non-fatal build advisories as plain diagnostic strings. */
55
57
  warnings: string[];
56
58
  /** Build statistics. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,132 +1,57 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  import { createRequire } from "node:module";
4
- import { execFileSync } from "node:child_process";
5
- import fs from "node:fs";
6
- import nodePath from "node:path";
7
- import { resolve, platformKey } from "./platform.js";
4
+ import { packageName, platformKey, resolve } from "./platform.js";
8
5
  const require = createRequire(import.meta.url);
9
- let addon = null;
10
- let fallbackWarned = false;
6
+ let addon;
11
7
  function loadAddon() {
12
8
  if (addon)
13
9
  return addon;
14
10
  const addonPath = resolve("addon");
15
- if (addonPath) {
16
- try {
17
- // .node files load via require(), native libs (.dylib/.so/.dll) via dlopen
18
- if (addonPath.endsWith(".node")) {
19
- addon = require(addonPath);
20
- }
21
- else {
22
- const m = { exports: {} };
23
- process.dlopen(m, addonPath);
24
- addon = m.exports;
25
- }
26
- return addon;
11
+ if (!addonPath) {
12
+ throw new Error(`[webui] Native addon not found for ${platformKey()}. ${addonInstallHelp()} ` +
13
+ 'The Node API does not fall back to the CLI; invoke "webui" explicitly for filesystem builds.');
14
+ }
15
+ try {
16
+ // .node files load via require(), native libs (.dylib/.so/.dll) via dlopen
17
+ if (addonPath.endsWith(".node")) {
18
+ addon = require(addonPath);
27
19
  }
28
- catch {
29
- // Fall through to WASM.
20
+ else {
21
+ const m = { exports: {} };
22
+ process.dlopen(m, addonPath);
23
+ addon = m.exports;
30
24
  }
31
25
  }
32
- return null;
26
+ catch (cause) {
27
+ throw new Error(`[webui] Failed to load native addon at ${addonPath}. ${addonInstallHelp()}`, { cause });
28
+ }
29
+ return addon;
33
30
  }
34
- function warnFallback() {
35
- if (fallbackWarned)
36
- return;
37
- fallbackWarned = true;
38
- console.warn(`[webui] Native addon not available for ${platformKey()}. ` +
39
- `Using WASM fallback — performance may be degraded.\n` +
40
- `Install the platform-specific package for optimal performance.`);
31
+ function addonInstallHelp() {
32
+ try {
33
+ return `Reinstall ${packageName()} or set WEBUI_ADDON_PATH to a compatible addon.`;
34
+ }
35
+ catch (error) {
36
+ const platformError = error instanceof Error ? error.message : String(error);
37
+ return `${platformError} Set WEBUI_ADDON_PATH to a compatible addon.`;
38
+ }
41
39
  }
42
40
  // ── Build API ────────────────────────────────────────────────────────
43
41
  /** Build a WebUI application from an app directory. */
44
42
  export function build(options) {
45
43
  const native = loadAddon();
46
- if (native?.build) {
47
- const { projectionManifestObjects, ...nativeOptions } = options;
48
- return native.build({
49
- ...nativeOptions,
50
- projectionManifestObjects: projectionManifestObjects?.map(({ path, manifest }) => ({
51
- path,
52
- json: JSON.stringify(manifest),
53
- })),
54
- });
55
- }
56
- // Fallback: shell out to CLI binary.
57
- const binPath = resolve("bin");
58
- if (!binPath) {
59
- throw new Error("[webui] Cannot build: no native addon or CLI binary available.");
60
- }
61
- const args = ["build", options.appDir ?? "."];
62
- if (options.entry)
63
- args.push("--entry", options.entry);
64
- if (options.css)
65
- args.push("--css", options.css);
66
- if (options.plugin)
67
- args.push("--plugin", options.plugin);
68
- if (options.components) {
69
- for (const c of options.components) {
70
- args.push("--components", c);
71
- }
72
- }
73
- if (options.projectionManifests) {
74
- for (const manifest of options.projectionManifests) {
75
- args.push("--projection-manifest", manifest);
76
- }
77
- }
78
- if (options.projectionManifestObjects &&
79
- options.projectionManifestObjects.length > 0) {
80
- throw new Error("[webui] Inline projection manifest objects require the native addon; write the manifest and pass projectionManifests when using the CLI fallback.");
81
- }
82
- if (options.componentAssetRoots && options.componentAssetRoots.length > 0) {
83
- args.push("--emit-component-assets", options.componentAssetRoots.join(","));
84
- }
85
- if (options.cssFileNameTemplate) {
86
- args.push("--css-file-name-template", options.cssFileNameTemplate);
87
- }
88
- if (options.cssPublicBase) {
89
- args.push("--css-public-base", options.cssPublicBase);
90
- }
91
- if (options.theme)
92
- args.push("--theme", options.theme);
93
- if (options.outDir)
94
- args.push("--out", options.outDir);
95
- execFileSync(binPath, args, { stdio: "inherit" });
96
- // CLI fallback does not return in-memory protocol.
97
- if (options.outDir) {
98
- const protocol = fs.readFileSync(nodePath.join(options.outDir, "protocol.bin"));
99
- return {
100
- protocol,
101
- cssFiles: [],
102
- componentAssetFiles: readComponentAssetFiles(options.outDir),
103
- warnings: [],
104
- stats: emptyStats(),
105
- };
106
- }
107
- return {
108
- protocol: Buffer.alloc(0),
109
- cssFiles: [],
110
- componentAssetFiles: [],
111
- warnings: [],
112
- stats: emptyStats(),
113
- };
114
- }
115
- function readComponentAssetFiles(outDir) {
116
- const files = [];
117
- const entries = fs.readdirSync(outDir, { withFileTypes: true });
118
- for (let i = 0; i < entries.length; i++) {
119
- const entry = entries[i];
120
- if (!entry.isFile())
121
- continue;
122
- const name = entry.name;
123
- const path = nodePath.join(outDir, name);
124
- const content = fs.readFileSync(path, "utf8");
125
- if (!content.startsWith("const asset=") || !content.includes("webui-component-asset"))
126
- continue;
127
- files.push(name, content);
128
- }
129
- return files;
44
+ if (typeof native.build !== "function") {
45
+ throw new Error(`[webui] Native addon is incompatible: build() is required. ${addonInstallHelp()}`);
46
+ }
47
+ const { projectionManifestObjects, ...nativeOptions } = options;
48
+ return native.build({
49
+ ...nativeOptions,
50
+ projectionManifestObjects: projectionManifestObjects?.map(({ path, manifest }) => ({
51
+ path,
52
+ json: JSON.stringify(manifest),
53
+ })),
54
+ });
130
55
  }
131
56
  // ── Runtime protocol API ─────────────────────────────────────────────
132
57
  /**
@@ -138,11 +63,9 @@ function readComponentAssetFiles(outDir) {
138
63
  export class Protocol {
139
64
  #native;
140
65
  constructor(protocolData, options) {
141
- const native = loadAddon();
142
- const NativeProtocol = native?.Protocol;
66
+ const NativeProtocol = loadAddon().Protocol;
143
67
  if (!NativeProtocol) {
144
- warnFallback();
145
- throw new Error("[webui] Native addon is incompatible: Protocol is required.");
68
+ throw new Error(`[webui] Native addon is incompatible: Protocol is required. ${addonInstallHelp()}`);
146
69
  }
147
70
  this.#native = new NativeProtocol(protocolData, options?.plugin);
148
71
  }
@@ -257,20 +180,10 @@ function toStateJson(state) {
257
180
  /** Inspect protocol bytes and return JSON representation. */
258
181
  export function inspect(protocolData) {
259
182
  const native = loadAddon();
260
- if (native?.inspect) {
261
- return native.inspect(protocolData);
183
+ if (typeof native.inspect !== "function") {
184
+ throw new Error(`[webui] Native addon is incompatible: inspect() is required. ${addonInstallHelp()}`);
262
185
  }
263
- throw new Error("[webui] inspect() requires the native addon.");
186
+ return native.inspect(protocolData);
264
187
  }
265
188
  // ── Helpers ──────────────────────────────────────────────────────────
266
- function emptyStats() {
267
- return {
268
- durationMs: 0,
269
- fragmentCount: 0,
270
- componentCount: 0,
271
- cssFileCount: 0,
272
- protocolSizeBytes: 0,
273
- tokenCount: 0,
274
- };
275
- }
276
189
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@microsoft/webui",
3
3
  "description": "WebUI — high-performance server-side rendering framework. Build-time protocol compiler and streaming renderer.",
4
4
  "license": "MIT",
5
- "version": "0.0.20",
5
+ "version": "0.0.21",
6
6
  "type": "module",
7
7
  "repository": {
8
8
  "type": "git",
@@ -43,12 +43,12 @@
43
43
  }
44
44
  },
45
45
  "optionalDependencies": {
46
- "@microsoft/webui-darwin-arm64": "0.0.20",
47
- "@microsoft/webui-darwin-x64": "0.0.20",
48
- "@microsoft/webui-linux-arm64": "0.0.20",
49
- "@microsoft/webui-linux-x64": "0.0.20",
50
- "@microsoft/webui-win32-x64": "0.0.20",
51
- "@microsoft/webui-win32-arm64": "0.0.20"
46
+ "@microsoft/webui-darwin-arm64": "0.0.21",
47
+ "@microsoft/webui-linux-x64": "0.0.21",
48
+ "@microsoft/webui-linux-arm64": "0.0.21",
49
+ "@microsoft/webui-darwin-x64": "0.0.21",
50
+ "@microsoft/webui-win32-arm64": "0.0.21",
51
+ "@microsoft/webui-win32-x64": "0.0.21"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "esbuild": "^0.28.1",
@@ -71,6 +71,6 @@
71
71
  "build": "tsc",
72
72
  "postbuild": "node dist/install.js",
73
73
  "postinstall": "node --input-type=module -e \"try{await import('./dist/install.js')}catch{}\"",
74
- "test": "tsc --project tsconfig.test.json && node --test dist/test/integration.test.js dist/test/projection-cli-fallback.test.js dist/test/projection-conformance.test.js dist/test/projection-compiler.test.js dist/test/projection-esbuild.test.js dist/test/projection-peers.test.js"
74
+ "test": "tsc --project tsconfig.test.json && node --test dist/test/integration.test.js dist/test/native-addon-loading.test.js dist/test/projection-conformance.test.js dist/test/projection-compiler.test.js dist/test/projection-esbuild.test.js dist/test/projection-peers.test.js"
75
75
  }
76
76
  }