@swell/cli 2.9.26 → 2.9.28
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/dist/commands/app/dev.d.ts +1 -0
- package/dist/commands/app/dev.js +26 -2
- package/dist/commands/create/component.d.ts +22 -0
- package/dist/commands/create/component.js +129 -0
- package/dist/commands/create/index.js +5 -1
- package/dist/commands/create/tests.js +11 -2
- package/dist/commands/inspect/extensions.js +3 -3
- package/dist/lib/apps/app-config.d.ts +15 -0
- package/dist/lib/apps/app-config.js +99 -30
- package/dist/lib/apps/component-extension.d.ts +23 -0
- package/dist/lib/apps/component-extension.js +60 -0
- package/dist/lib/apps/components.d.ts +32 -0
- package/dist/lib/apps/components.js +81 -0
- package/dist/lib/apps/frontend-scaffold.js +1 -1
- package/dist/lib/apps/index.d.ts +1 -0
- package/dist/lib/apps/index.js +5 -3
- package/dist/lib/bundle.d.ts +21 -1
- package/dist/lib/bundle.js +88 -5
- package/dist/lib/create/component.d.ts +22 -0
- package/dist/lib/create/component.js +194 -0
- package/dist/lib/create/content.d.ts +1 -1
- package/dist/lib/create/setting.d.ts +1 -1
- package/dist/lib/create/tests/templates/index.d.ts +0 -3
- package/dist/lib/create/tests/templates/index.js +0 -3
- package/dist/lib/create/tests/templates/mock-request.js +4 -10
- package/dist/lib/create/tests/templates/tsconfig.js +1 -1
- package/dist/lib/create/tests/templates/vitest-config.d.ts +1 -2
- package/dist/lib/create/tests/templates/vitest-config.js +17 -113
- package/dist/lib/create/tests/types.d.ts +2 -0
- package/dist/lib/create/tests.js +64 -12
- package/dist/lib/function-source-analysis.d.ts +11 -0
- package/dist/lib/function-source-analysis.js +33 -0
- package/dist/lib/inspect/extensions.d.ts +8 -1
- package/dist/lib/inspect/extensions.js +12 -2
- package/dist/lib/swell-function-wrapper.js +31 -0
- package/dist/push-app-command.js +11 -0
- package/oclif.manifest.json +82 -3
- package/package.json +3 -1
- package/dist/lib/create/tests/templates/env-dts.d.ts +0 -1
- package/dist/lib/create/tests/templates/env-dts.js +0 -15
- package/dist/lib/create/tests/templates/integration-test.d.ts +0 -1
- package/dist/lib/create/tests/templates/integration-test.js +0 -19
- package/dist/lib/create/tests/templates/swell-client.d.ts +0 -1
- package/dist/lib/create/tests/templates/swell-client.js +0 -128
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
export function swellClientTemplate() {
|
|
2
|
-
return `\
|
|
3
|
-
import { env } from "cloudflare:test";
|
|
4
|
-
|
|
5
|
-
type HttpMethod = "GET" | "POST" | "PUT" | "DELETE";
|
|
6
|
-
|
|
7
|
-
type BasicSwellClient = Pick<
|
|
8
|
-
SwellAPI,
|
|
9
|
-
"get" | "post" | "put" | "delete" | "settings"
|
|
10
|
-
>;
|
|
11
|
-
|
|
12
|
-
async function makeRequest(
|
|
13
|
-
method: HttpMethod,
|
|
14
|
-
url: string,
|
|
15
|
-
data?: any
|
|
16
|
-
): Promise<any> {
|
|
17
|
-
const baseUrl = env.SWELL_API_BASE_URL || "https://api.swell.store";
|
|
18
|
-
const sessionId = env.SWELL_SESSION_ID;
|
|
19
|
-
const environment = env.SWELL_ENVIRONMENT || "test";
|
|
20
|
-
|
|
21
|
-
if (!sessionId) {
|
|
22
|
-
throw new Error(
|
|
23
|
-
"Missing SWELL_SESSION_ID binding. Run \\\`swell login\\\` or set it explicitly for tests.",
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
let endpointUrl = String(url).startsWith("/") ? url.substring(1) : String(url);
|
|
28
|
-
if (!endpointUrl.startsWith("data/")) {
|
|
29
|
-
endpointUrl = \`data/\${endpointUrl}\`;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
let fullUrl = \`\${baseUrl}/\${endpointUrl}\`;
|
|
33
|
-
const headers: HeadersInit = {
|
|
34
|
-
"Content-Type": "application/json;charset=UTF-8",
|
|
35
|
-
"User-Agent": "swell-app-tests/1.0",
|
|
36
|
-
"X-Session": sessionId,
|
|
37
|
-
"Swell-Env": environment,
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const options: RequestInit = {
|
|
41
|
-
method,
|
|
42
|
-
headers,
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
if (data) {
|
|
46
|
-
if (method === "GET") {
|
|
47
|
-
const params = new URLSearchParams();
|
|
48
|
-
|
|
49
|
-
function append(prefix: string, value: any) {
|
|
50
|
-
if (value === null || value === undefined) return;
|
|
51
|
-
if (typeof value === "object" && !Array.isArray(value)) {
|
|
52
|
-
for (const [k, v] of Object.entries(value)) {
|
|
53
|
-
append(\`\${prefix}[\${k}]\`, v);
|
|
54
|
-
}
|
|
55
|
-
} else if (Array.isArray(value)) {
|
|
56
|
-
for (const v of value) {
|
|
57
|
-
append(\`\${prefix}[]\`, v);
|
|
58
|
-
}
|
|
59
|
-
} else {
|
|
60
|
-
params.append(prefix, String(value));
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
for (const [key, value] of Object.entries(data)) {
|
|
65
|
-
append(key, value);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const query = params.toString();
|
|
69
|
-
if (query) {
|
|
70
|
-
fullUrl += \`?\${query}\`;
|
|
71
|
-
}
|
|
72
|
-
} else {
|
|
73
|
-
options.body = JSON.stringify(data);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const response = await fetch(fullUrl, options);
|
|
78
|
-
const text = await response.text();
|
|
79
|
-
|
|
80
|
-
let result: any;
|
|
81
|
-
try {
|
|
82
|
-
result = text ? JSON.parse(text) : null;
|
|
83
|
-
} catch {
|
|
84
|
-
result = text;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (!response.ok) {
|
|
88
|
-
throw new (globalThis as any).SwellError(result || text || "Request failed", {
|
|
89
|
-
status: response.status,
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
if (result?.errors) {
|
|
94
|
-
throw new (globalThis as any).SwellError(result.errors, {
|
|
95
|
-
status: 400,
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return result;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
export function createSwellClient(): BasicSwellClient {
|
|
103
|
-
return {
|
|
104
|
-
get(url: string, query?: any) {
|
|
105
|
-
return makeRequest("GET", url, query);
|
|
106
|
-
},
|
|
107
|
-
post(url: string, data?: any) {
|
|
108
|
-
return makeRequest("POST", url, data);
|
|
109
|
-
},
|
|
110
|
-
put(url: string, data?: any) {
|
|
111
|
-
return makeRequest("PUT", url, data);
|
|
112
|
-
},
|
|
113
|
-
delete(url: string, data?: any) {
|
|
114
|
-
return makeRequest("DELETE", url, data);
|
|
115
|
-
},
|
|
116
|
-
settings(id?: string) {
|
|
117
|
-
const appId = id || env.SWELL_APP_ID;
|
|
118
|
-
if (!appId) {
|
|
119
|
-
throw new Error(
|
|
120
|
-
"Missing app id. Pass an id to settings() or set SWELL_APP_ID binding.",
|
|
121
|
-
);
|
|
122
|
-
}
|
|
123
|
-
return makeRequest("GET", \`/settings/\${appId}\`);
|
|
124
|
-
},
|
|
125
|
-
} as BasicSwellClient;
|
|
126
|
-
}
|
|
127
|
-
`;
|
|
128
|
-
}
|