@fluid-app/fluid-cli-widget 0.1.2 → 0.1.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-app/fluid-cli-widget",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Fluid CLI plugin for standalone widget package workflows",
5
5
  "files": [
6
6
  "dist",
@@ -23,14 +23,16 @@
23
23
  "commander": "^12.0.0",
24
24
  "ora": "^8.0.0",
25
25
  "prompts": "^2.4.2",
26
- "@fluid-app/fluid-cli-portal": "0.1.30",
26
+ "@fluid-app/fluid-cli-portal": "0.1.32",
27
27
  "@fluid-app/fluid-cli": "0.1.11"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/node": "^24",
31
31
  "@types/prompts": "^2.4.9",
32
+ "@vitejs/plugin-react": "^4.3.0",
32
33
  "tsdown": "^0.21.0",
33
34
  "typescript": "^5",
35
+ "vite": "^6.4.1",
34
36
  "vitest": "^4.0.18",
35
37
  "@fluid-app/typescript-config": "0.0.0"
36
38
  },
@@ -32,6 +32,7 @@
32
32
  "typescript": "^5.6.0",
33
33
  "vite": "^6.4.1",
34
34
  "@fluid-app/fluid-cli-widget": "{{widgetCliVersion}}",
35
+ "@types/node": "^24.0.0",
35
36
  "@types/react": "^19.2.13",
36
37
  "@types/react-dom": "^19.2.3"
37
38
  },
@@ -1,9 +1,19 @@
1
1
  import { defineConfig } from "vite";
2
2
  import type { Plugin, ViteDevServer } from "vite";
3
3
  import react from "@vitejs/plugin-react";
4
+ import type { IncomingMessage, ServerResponse } from "node:http";
4
5
 
5
6
  export default defineConfig({
6
7
  plugins: [react(), fluidWidgetDevRoutes()],
8
+ resolve: {
9
+ conditions: ["fluid-widget-authoring"],
10
+ },
11
+ ssr: {
12
+ noExternal: ["@fluid-app/portal-sdk"],
13
+ resolve: {
14
+ conditions: ["fluid-widget-authoring"],
15
+ },
16
+ },
7
17
  });
8
18
 
9
19
  function fluidWidgetDevRoutes(): Plugin {
@@ -11,49 +21,53 @@ function fluidWidgetDevRoutes(): Plugin {
11
21
  name: "fluid-widget-dev-routes",
12
22
  apply: "serve",
13
23
  configureServer(server: ViteDevServer) {
14
- server.middlewares.use(
15
- async (req: DevRequest, res: DevResponse, next: () => void) => {
16
- const pathname = (req.url ?? "").split("?")[0] ?? "";
17
-
18
- if (
19
- pathname === "/builder-preview" ||
20
- pathname === "/builder-preview/"
21
- ) {
22
- await sendTransformedHtml(
23
- server,
24
- res,
25
- "/builder-preview",
26
- getBuilderPreviewHtml(),
27
- );
28
- return;
29
- }
30
-
31
- if (pathname === "/__preview__" || pathname === "/__preview__/") {
32
- await sendTransformedHtml(
33
- server,
34
- res,
35
- "/__preview__",
36
- getPreviewHtml(),
37
- );
38
- return;
39
- }
40
-
41
- if (
42
- pathname === "/__runtime-entry__" ||
43
- pathname === "/__runtime-entry__/"
44
- ) {
45
- sendJavaScript(req, res, 'void import("/src/index.ts");\n');
46
- return;
47
- }
48
-
49
- if (pathname === "/__manifests__" || pathname === "/__manifests__/") {
50
- await sendManifests(server, req, res);
51
- return;
52
- }
53
-
54
- next();
55
- },
56
- );
24
+ const devRoutesHandler = async (
25
+ req: DevRequest,
26
+ res: DevResponse,
27
+ next: (err?: unknown) => void,
28
+ ): Promise<void> => {
29
+ const pathname = (req.url ?? "").split("?")[0] ?? "";
30
+
31
+ if (
32
+ pathname === "/builder-preview" ||
33
+ pathname === "/builder-preview/"
34
+ ) {
35
+ await sendTransformedHtml(
36
+ server,
37
+ res,
38
+ "/builder-preview",
39
+ getBuilderPreviewHtml(),
40
+ );
41
+ return;
42
+ }
43
+
44
+ if (pathname === "/__preview__" || pathname === "/__preview__/") {
45
+ await sendTransformedHtml(
46
+ server,
47
+ res,
48
+ "/__preview__",
49
+ getPreviewHtml(),
50
+ );
51
+ return;
52
+ }
53
+
54
+ if (
55
+ pathname === "/__runtime-entry__" ||
56
+ pathname === "/__runtime-entry__/"
57
+ ) {
58
+ sendJavaScript(req, res, 'void import("/src/index.ts");\n');
59
+ return;
60
+ }
61
+
62
+ if (pathname === "/__manifests__" || pathname === "/__manifests__/") {
63
+ await sendManifests(server, req, res);
64
+ return;
65
+ }
66
+
67
+ next();
68
+ };
69
+
70
+ server.middlewares.use(devRoutesHandler);
57
71
  },
58
72
  };
59
73
  }
@@ -164,16 +178,8 @@ function getPreviewHtml(): string {
164
178
  </html>`;
165
179
  }
166
180
 
167
- interface DevRequest {
168
- readonly method?: string;
169
- readonly url?: string;
170
- }
171
-
172
- interface DevResponse {
173
- statusCode: number;
174
- setHeader(name: string, value: string): void;
175
- end(body?: string): void;
176
- }
181
+ type DevRequest = IncomingMessage;
182
+ type DevResponse = ServerResponse;
177
183
 
178
184
  interface SourceWidgetPackage {
179
185
  readonly packageId: string;