skybridge 0.0.0-dev.fd61a71 → 0.0.0-dev.fd6e4e8
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 +1 -7
- package/dist/cli/header.js +1 -1
- package/dist/cli/header.js.map +1 -1
- package/dist/cli/use-messages.d.ts +3 -0
- package/dist/cli/use-messages.js +11 -0
- package/dist/cli/use-messages.js.map +1 -0
- package/dist/cli/use-nodemon.d.ts +2 -2
- package/dist/cli/use-nodemon.js +8 -24
- package/dist/cli/use-nodemon.js.map +1 -1
- package/dist/cli/use-tunnel.d.ts +13 -7
- package/dist/cli/use-tunnel.js +35 -39
- package/dist/cli/use-tunnel.js.map +1 -1
- package/dist/commands/build.js +6 -5
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/dev.d.ts +1 -0
- package/dist/commands/dev.js +10 -5
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/start.js +7 -10
- package/dist/commands/start.js.map +1 -1
- package/dist/server/asset-base-url-transform-plugin.d.ts +5 -6
- package/dist/server/asset-base-url-transform-plugin.js +8 -9
- package/dist/server/asset-base-url-transform-plugin.js.map +1 -1
- package/dist/server/asset-base-url-transform-plugin.test.js +12 -13
- package/dist/server/asset-base-url-transform-plugin.test.js.map +1 -1
- package/dist/server/content-helpers.d.ts +27 -0
- package/dist/server/content-helpers.js +46 -0
- package/dist/server/content-helpers.js.map +1 -0
- package/dist/server/content-helpers.test.d.ts +1 -0
- package/dist/server/content-helpers.test.js +70 -0
- package/dist/server/content-helpers.test.js.map +1 -0
- package/dist/server/express.d.ts +1 -1
- package/dist/server/index.d.ts +3 -2
- package/dist/server/index.js +2 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/metric.d.ts +14 -0
- package/dist/server/metric.js +62 -0
- package/dist/server/metric.js.map +1 -0
- package/dist/server/middleware.test.js +12 -9
- package/dist/server/middleware.test.js.map +1 -1
- package/dist/server/server.d.ts +94 -70
- package/dist/server/server.js +154 -55
- package/dist/server/server.js.map +1 -1
- package/dist/server/templates/development.hbs +1 -1
- package/dist/server/widgetsDevServer.d.ts +7 -6
- package/dist/server/widgetsDevServer.js +18 -30
- package/dist/server/widgetsDevServer.js.map +1 -1
- package/dist/test/utils.d.ts +6 -14
- package/dist/test/utils.js +35 -30
- package/dist/test/utils.js.map +1 -1
- package/dist/test/widget.test.js +285 -94
- package/dist/test/widget.test.js.map +1 -1
- package/dist/version.d.ts +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/dist/web/bridges/apps-sdk/adaptor.d.ts +4 -2
- package/dist/web/bridges/apps-sdk/adaptor.js +24 -12
- package/dist/web/bridges/apps-sdk/adaptor.js.map +1 -1
- package/dist/web/bridges/apps-sdk/types.d.ts +10 -5
- package/dist/web/bridges/apps-sdk/types.js.map +1 -1
- package/dist/web/bridges/mcp-app/adaptor.d.ts +10 -0
- package/dist/web/bridges/mcp-app/adaptor.js +84 -0
- package/dist/web/bridges/mcp-app/adaptor.js.map +1 -1
- package/dist/web/bridges/types.d.ts +7 -1
- package/dist/web/components/modal-provider.js +1 -1
- package/dist/web/components/modal-provider.js.map +1 -1
- package/dist/web/create-store.js +15 -1
- package/dist/web/create-store.js.map +1 -1
- package/dist/web/generate-helpers.d.ts +8 -6
- package/dist/web/generate-helpers.js +8 -6
- package/dist/web/generate-helpers.js.map +1 -1
- package/dist/web/hooks/use-files.d.ts +2 -1
- package/dist/web/hooks/use-files.js +1 -0
- package/dist/web/hooks/use-files.js.map +1 -1
- package/dist/web/hooks/use-files.test.js +22 -2
- package/dist/web/hooks/use-files.test.js.map +1 -1
- package/dist/web/hooks/use-widget-state.test.js +114 -1
- package/dist/web/hooks/use-widget-state.test.js.map +1 -1
- package/dist/web/index.d.ts +1 -0
- package/dist/web/index.js.map +1 -1
- package/dist/web/plugin/plugin.d.ts +4 -1
- package/dist/web/plugin/plugin.js +101 -24
- package/dist/web/plugin/plugin.js.map +1 -1
- package/dist/web/plugin/scan-widgets.d.ts +8 -0
- package/dist/web/plugin/scan-widgets.js +68 -0
- package/dist/web/plugin/scan-widgets.js.map +1 -0
- package/dist/web/plugin/scan-widgets.test.d.ts +1 -0
- package/dist/web/plugin/scan-widgets.test.js +96 -0
- package/dist/web/plugin/scan-widgets.test.js.map +1 -0
- package/dist/web/plugin/transform-data-llm.js +1 -1
- package/dist/web/plugin/transform-data-llm.js.map +1 -1
- package/dist/web/plugin/validate-widget.d.ts +1 -5
- package/dist/web/plugin/validate-widget.js +4 -22
- package/dist/web/plugin/validate-widget.js.map +1 -1
- package/dist/web/plugin/validate-widget.test.js +12 -30
- package/dist/web/plugin/validate-widget.test.js.map +1 -1
- package/package.json +10 -6
- package/tsconfig.base.json +2 -0
|
@@ -1,36 +1,30 @@
|
|
|
1
|
-
import { existsSync } from "node:fs";
|
|
2
1
|
import path from "node:path";
|
|
3
2
|
import cors from "cors";
|
|
4
3
|
import express, {} from "express";
|
|
5
4
|
import { assetBaseUrlTransformPlugin } from "./asset-base-url-transform-plugin.js";
|
|
6
5
|
/**
|
|
7
|
-
*
|
|
8
|
-
* This router MUST be installed at the application root, like so:
|
|
6
|
+
* Vite dev-server middleware for widget assets.
|
|
9
7
|
*
|
|
10
|
-
*
|
|
8
|
+
* MUST be mounted at the Express app root so Vite can intercept
|
|
9
|
+
* `/@vite/client`, `/@react-refresh`, and `/_skybridge/widget/...` imports:
|
|
11
10
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* const app = express();
|
|
12
|
+
* if (env.NODE_ENV !== "production") {
|
|
13
|
+
* app.use(await widgetsDevServer(httpServer));
|
|
14
|
+
* }
|
|
15
15
|
*/
|
|
16
16
|
export const widgetsDevServer = async (httpServer) => {
|
|
17
17
|
const router = express.Router();
|
|
18
|
-
const { createServer,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
let webAppRoot = path.join(process.cwd(), "web");
|
|
23
|
-
// fallback to the old behavior for backward compatibility
|
|
24
|
-
const hasWebAppRoot = existsSync(webAppRoot);
|
|
25
|
-
if (!hasWebAppRoot) {
|
|
26
|
-
const workspaceRoot = searchForWorkspaceRoot(process.cwd());
|
|
27
|
-
webAppRoot = path.join(workspaceRoot, "web");
|
|
28
|
-
}
|
|
29
|
-
const configResult = await loadConfigFromFile({ command: "serve", mode: "development" }, path.join(webAppRoot, "vite.config.ts"), webAppRoot);
|
|
18
|
+
const { createServer, loadConfigFromFile } = await import("vite");
|
|
19
|
+
const root = process.cwd();
|
|
20
|
+
const configFile = path.join(root, "vite.config.ts");
|
|
21
|
+
const configResult = await loadConfigFromFile({ command: "serve", mode: "development" }, configFile, root);
|
|
30
22
|
const { build, preview, plugins: userPlugins = [], ...devConfig } = configResult?.config || {};
|
|
31
23
|
const vite = await createServer({
|
|
32
24
|
...devConfig,
|
|
33
|
-
|
|
25
|
+
// Pass `false` so Vite skips re-resolving a config file — we already
|
|
26
|
+
// loaded and spread the user's config above.
|
|
27
|
+
configFile: false,
|
|
34
28
|
appType: "custom",
|
|
35
29
|
server: {
|
|
36
30
|
allowedHosts: true,
|
|
@@ -39,16 +33,10 @@ export const widgetsDevServer = async (httpServer) => {
|
|
|
39
33
|
server: httpServer,
|
|
40
34
|
},
|
|
41
35
|
},
|
|
42
|
-
root
|
|
43
|
-
optimizeDeps
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
plugins: [
|
|
47
|
-
...userPlugins,
|
|
48
|
-
assetBaseUrlTransformPlugin({
|
|
49
|
-
devServerOrigin: `http://localhost:${process.env.__PORT ?? "3000"}`,
|
|
50
|
-
}),
|
|
51
|
-
],
|
|
36
|
+
root,
|
|
37
|
+
// optimizeDeps is set by the skybridge Vite plugin (entries + include)
|
|
38
|
+
// so it can derive the widget glob from `widgetsDir`.
|
|
39
|
+
plugins: [...userPlugins, assetBaseUrlTransformPlugin()],
|
|
52
40
|
});
|
|
53
41
|
router.use(cors());
|
|
54
42
|
router.use("/", vite.middlewares);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetsDevServer.js","sourceRoot":"","sources":["../../src/server/widgetsDevServer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"widgetsDevServer.js","sourceRoot":"","sources":["../../src/server/widgetsDevServer.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAO,EAAE,EAAe,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,UAAuB,EACN,EAAE;IACnB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EACzC,UAAU,EACV,IAAI,CACL,CAAC;IAEF,MAAM,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EAAE,WAAW,GAAG,EAAE,EACzB,GAAG,SAAS,EACb,GAAG,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;IAE/B,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC;QAC9B,GAAG,SAAS;QACZ,qEAAqE;QACrE,6CAA6C;QAC7C,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE;YACN,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;YACpB,GAAG,EAAE;gBACH,MAAM,EAAE,UAAU;aACnB;SACF;QACD,IAAI;QACJ,uEAAuE;QACvE,sDAAsD;QACtD,OAAO,EAAE,CAAC,GAAG,WAAW,EAAE,2BAA2B,EAAE,CAAC;KACzD,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACnB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
package/dist/test/utils.d.ts
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { type MockInstance } from "vitest";
|
|
2
2
|
import { McpServer } from "../server/server.js";
|
|
3
|
-
/**
|
|
4
|
-
* Creates a real McpServer instance for testing
|
|
5
|
-
*/
|
|
6
3
|
export declare function createMockMcpServer(): {
|
|
7
4
|
server: McpServer;
|
|
8
5
|
mockRegisterResource: MockInstance<McpServer["registerResource"]>;
|
|
9
|
-
mockRegisterTool: MockInstance
|
|
6
|
+
mockRegisterTool: MockInstance;
|
|
10
7
|
};
|
|
11
8
|
export declare function createTestServer(): McpServer<Record<never, import("../server/server.js").ToolDef<unknown, unknown, unknown>> & {
|
|
12
9
|
"search-voyage": import("../server/server.js").ToolDef<{
|
|
@@ -115,21 +112,16 @@ export declare function createInterfaceTestServer(): McpServer<Record<never, imp
|
|
|
115
112
|
version: number;
|
|
116
113
|
}>;
|
|
117
114
|
}>;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
115
|
+
export declare function createMockExtra(host: string, options?: {
|
|
116
|
+
headers?: Record<string, string | string[]>;
|
|
117
|
+
url?: URL | string;
|
|
118
|
+
}): {
|
|
122
119
|
requestInfo: {
|
|
120
|
+
url?: string | URL | undefined;
|
|
123
121
|
headers: {
|
|
124
122
|
host: string;
|
|
125
123
|
};
|
|
126
124
|
};
|
|
127
125
|
};
|
|
128
|
-
/**
|
|
129
|
-
* Sets up environment variables for testing
|
|
130
|
-
*/
|
|
131
126
|
export declare function setTestEnv(env: Record<string, string>): void;
|
|
132
|
-
/**
|
|
133
|
-
* Resets environment variables
|
|
134
|
-
*/
|
|
135
127
|
export declare function resetTestEnv(): void;
|
package/dist/test/utils.js
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
|
+
import { McpServer as McpServerBase } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
1
2
|
import { vi } from "vitest";
|
|
2
3
|
import * as z from "zod";
|
|
3
4
|
import { McpServer } from "../server/server.js";
|
|
4
|
-
/**
|
|
5
|
-
* Creates a real McpServer instance for testing
|
|
6
|
-
*/
|
|
7
5
|
export function createMockMcpServer() {
|
|
8
|
-
// Create a real McpServer instance
|
|
9
6
|
const server = new McpServer({
|
|
10
7
|
name: "alpic-openai-app",
|
|
11
8
|
version: "0.0.1",
|
|
12
9
|
}, { capabilities: {} });
|
|
13
|
-
// Mock the underlying methods to track calls
|
|
14
10
|
const mockRegisterResource = vi.spyOn(server, "registerResource");
|
|
15
|
-
const mockRegisterTool = vi.spyOn(
|
|
11
|
+
const mockRegisterTool = vi.spyOn(McpServerBase.prototype, "registerTool");
|
|
16
12
|
return {
|
|
17
13
|
server,
|
|
18
14
|
mockRegisterResource,
|
|
@@ -21,7 +17,8 @@ export function createMockMcpServer() {
|
|
|
21
17
|
}
|
|
22
18
|
export function createTestServer() {
|
|
23
19
|
return new McpServer({ name: "test-app", version: "1.0.0" }, {})
|
|
24
|
-
.
|
|
20
|
+
.registerTool({
|
|
21
|
+
name: "search-voyage",
|
|
25
22
|
description: "Search for voyages",
|
|
26
23
|
inputSchema: {
|
|
27
24
|
destination: z.string(),
|
|
@@ -36,6 +33,7 @@ export function createTestServer() {
|
|
|
36
33
|
})),
|
|
37
34
|
totalCount: z.number(),
|
|
38
35
|
},
|
|
36
|
+
view: { component: "search-voyage" },
|
|
39
37
|
}, async ({ destination }) => {
|
|
40
38
|
return {
|
|
41
39
|
content: [{ type: "text", text: `Found trips to ${destination}` }],
|
|
@@ -45,7 +43,8 @@ export function createTestServer() {
|
|
|
45
43
|
},
|
|
46
44
|
};
|
|
47
45
|
})
|
|
48
|
-
.
|
|
46
|
+
.registerTool({
|
|
47
|
+
name: "get-trip-details",
|
|
49
48
|
description: "Get trip details",
|
|
50
49
|
inputSchema: {
|
|
51
50
|
tripId: z.string(),
|
|
@@ -55,6 +54,7 @@ export function createTestServer() {
|
|
|
55
54
|
description: z.string(),
|
|
56
55
|
images: z.array(z.string()),
|
|
57
56
|
},
|
|
57
|
+
view: { component: "get-trip-details" },
|
|
58
58
|
}, async ({ tripId }) => {
|
|
59
59
|
return {
|
|
60
60
|
content: [{ type: "text", text: `Details for ${tripId}` }],
|
|
@@ -65,21 +65,25 @@ export function createTestServer() {
|
|
|
65
65
|
},
|
|
66
66
|
};
|
|
67
67
|
})
|
|
68
|
-
.
|
|
68
|
+
.registerTool({
|
|
69
|
+
name: "no-input-widget",
|
|
69
70
|
description: "Widget with no input",
|
|
70
71
|
inputSchema: {},
|
|
71
72
|
outputSchema: {},
|
|
73
|
+
view: { component: "no-input-widget" },
|
|
72
74
|
}, async () => {
|
|
73
75
|
return {
|
|
74
76
|
content: [{ type: "text", text: "No input needed" }],
|
|
75
77
|
structuredContent: {},
|
|
76
78
|
};
|
|
77
79
|
})
|
|
78
|
-
.
|
|
80
|
+
.registerTool({
|
|
81
|
+
name: "inferred-output-widget",
|
|
79
82
|
description: "Widget with output inferred from callback",
|
|
80
83
|
inputSchema: {
|
|
81
84
|
query: z.string(),
|
|
82
85
|
},
|
|
86
|
+
view: { component: "inferred-output-widget" },
|
|
83
87
|
}, async ({ query }) => {
|
|
84
88
|
return {
|
|
85
89
|
content: [{ type: "text", text: `Query: ${query}` }],
|
|
@@ -89,7 +93,8 @@ export function createTestServer() {
|
|
|
89
93
|
},
|
|
90
94
|
};
|
|
91
95
|
})
|
|
92
|
-
.registerTool(
|
|
96
|
+
.registerTool({
|
|
97
|
+
name: "calculate-price",
|
|
93
98
|
description: "Calculate trip price",
|
|
94
99
|
inputSchema: {
|
|
95
100
|
tripId: z.string(),
|
|
@@ -108,7 +113,8 @@ export function createTestServer() {
|
|
|
108
113
|
},
|
|
109
114
|
};
|
|
110
115
|
})
|
|
111
|
-
.registerTool(
|
|
116
|
+
.registerTool({
|
|
117
|
+
name: "inferred-tool",
|
|
112
118
|
description: "Tool with output inferred from callback",
|
|
113
119
|
inputSchema: {
|
|
114
120
|
itemId: z.string(),
|
|
@@ -122,11 +128,13 @@ export function createTestServer() {
|
|
|
122
128
|
},
|
|
123
129
|
};
|
|
124
130
|
})
|
|
125
|
-
.
|
|
131
|
+
.registerTool({
|
|
132
|
+
name: "widget-with-metadata",
|
|
126
133
|
description: "Widget that returns response metadata",
|
|
127
134
|
inputSchema: {
|
|
128
135
|
resourceId: z.string(),
|
|
129
136
|
},
|
|
137
|
+
view: { component: "widget-with-metadata" },
|
|
130
138
|
}, async ({ resourceId }) => {
|
|
131
139
|
return {
|
|
132
140
|
content: [{ type: "text", text: `Resource: ${resourceId}` }],
|
|
@@ -140,7 +148,8 @@ export function createTestServer() {
|
|
|
140
148
|
},
|
|
141
149
|
};
|
|
142
150
|
})
|
|
143
|
-
.registerTool(
|
|
151
|
+
.registerTool({
|
|
152
|
+
name: "tool-with-metadata",
|
|
144
153
|
description: "Tool that returns response metadata",
|
|
145
154
|
inputSchema: {
|
|
146
155
|
query: z.string(),
|
|
@@ -157,20 +166,20 @@ export function createTestServer() {
|
|
|
157
166
|
},
|
|
158
167
|
};
|
|
159
168
|
})
|
|
160
|
-
.
|
|
169
|
+
.registerTool({
|
|
170
|
+
name: "widget-with-mixed-returns",
|
|
161
171
|
description: "Widget with mixed return paths (some with _meta, some without)",
|
|
162
172
|
inputSchema: {
|
|
163
173
|
shouldSucceed: z.boolean(),
|
|
164
174
|
},
|
|
175
|
+
view: { component: "widget-with-mixed-returns" },
|
|
165
176
|
}, async ({ shouldSucceed }) => {
|
|
166
177
|
if (!shouldSucceed) {
|
|
167
|
-
// Error path - no _meta
|
|
168
178
|
return {
|
|
169
179
|
content: [{ type: "text", text: "Error occurred" }],
|
|
170
180
|
structuredContent: { error: "Something went wrong" },
|
|
171
181
|
};
|
|
172
182
|
}
|
|
173
|
-
// Success path - has _meta
|
|
174
183
|
return {
|
|
175
184
|
content: [{ type: "text", text: "Success" }],
|
|
176
185
|
structuredContent: { data: "result" },
|
|
@@ -182,7 +191,8 @@ export function createTestServer() {
|
|
|
182
191
|
});
|
|
183
192
|
}
|
|
184
193
|
export function createMinimalTestServer() {
|
|
185
|
-
return new McpServer({ name: "test-app", version: "1.0.0" }, {}).
|
|
194
|
+
return new McpServer({ name: "test-app", version: "1.0.0" }, {}).registerTool({
|
|
195
|
+
name: "search-voyage",
|
|
186
196
|
description: "Search for voyages",
|
|
187
197
|
inputSchema: {
|
|
188
198
|
destination: z.string(),
|
|
@@ -190,6 +200,7 @@ export function createMinimalTestServer() {
|
|
|
190
200
|
outputSchema: {
|
|
191
201
|
results: z.array(z.object({ id: z.string() })),
|
|
192
202
|
},
|
|
203
|
+
view: { component: "search-voyage" },
|
|
193
204
|
}, async ({ destination }) => {
|
|
194
205
|
return {
|
|
195
206
|
content: [{ type: "text", text: `Found trips to ${destination}` }],
|
|
@@ -198,11 +209,13 @@ export function createMinimalTestServer() {
|
|
|
198
209
|
});
|
|
199
210
|
}
|
|
200
211
|
export function createInterfaceTestServer() {
|
|
201
|
-
return new McpServer({ name: "interface-test-app", version: "1.0.0" }, {}).
|
|
212
|
+
return new McpServer({ name: "interface-test-app", version: "1.0.0" }, {}).registerTool({
|
|
213
|
+
name: "interface-widget",
|
|
202
214
|
description: "Widget with interface-typed output",
|
|
203
215
|
inputSchema: {
|
|
204
216
|
id: z.string(),
|
|
205
217
|
},
|
|
218
|
+
view: { component: "interface-widget" },
|
|
206
219
|
}, async ({ id }) => {
|
|
207
220
|
return {
|
|
208
221
|
content: [{ type: "text", text: `Item ${id}` }],
|
|
@@ -217,25 +230,17 @@ export function createInterfaceTestServer() {
|
|
|
217
230
|
};
|
|
218
231
|
});
|
|
219
232
|
}
|
|
220
|
-
|
|
221
|
-
* Mock extra parameter for resource callback
|
|
222
|
-
*/
|
|
223
|
-
export function createMockExtra(host) {
|
|
233
|
+
export function createMockExtra(host, options) {
|
|
224
234
|
return {
|
|
225
235
|
requestInfo: {
|
|
226
|
-
headers: { host },
|
|
236
|
+
headers: { host, ...(options?.headers ?? {}) },
|
|
237
|
+
...(options?.url ? { url: options.url } : {}),
|
|
227
238
|
},
|
|
228
239
|
};
|
|
229
240
|
}
|
|
230
|
-
/**
|
|
231
|
-
* Sets up environment variables for testing
|
|
232
|
-
*/
|
|
233
241
|
export function setTestEnv(env) {
|
|
234
242
|
Object.assign(process.env, env);
|
|
235
243
|
}
|
|
236
|
-
/**
|
|
237
|
-
* Resets environment variables
|
|
238
|
-
*/
|
|
239
244
|
export function resetTestEnv() {
|
|
240
245
|
delete process.env.NODE_ENV;
|
|
241
246
|
}
|
package/dist/test/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"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"}
|