ugly-app 0.1.293 → 0.1.294
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudCleanup.d.ts","sourceRoot":"","sources":["../../src/cli/cloudCleanup.ts"],"names":[],"mappings":"AASA,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"cloudCleanup.d.ts","sourceRoot":"","sources":["../../src/cli/cloudCleanup.ts"],"names":[],"mappings":"AASA,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgF5E"}
|
package/dist/cli/cloudCleanup.js
CHANGED
|
@@ -7,12 +7,30 @@ export async function runCloudCleanup(opts) {
|
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
const serverUrl = auth.serverUrl || getUglyBotUrl();
|
|
10
|
+
const headers = { 'Authorization': `Bearer ${auth.token}` };
|
|
10
11
|
// List resources
|
|
11
|
-
const listRes = await fetch(`${serverUrl}/api/dev-resources`, {
|
|
12
|
-
headers: { 'Authorization': `Bearer ${auth.token}` },
|
|
13
|
-
});
|
|
12
|
+
const listRes = await fetch(`${serverUrl}/api/dev-resources`, { headers });
|
|
14
13
|
if (!listRes.ok) {
|
|
14
|
+
// If listing fails but user wants to delete all, use the bulk delete endpoint
|
|
15
|
+
if (opts.all) {
|
|
16
|
+
console.log('[ugly-app] Could not list resources, attempting bulk delete...');
|
|
17
|
+
const delRes = await fetch(`${serverUrl}/api/dev-resources/all`, {
|
|
18
|
+
method: 'DELETE',
|
|
19
|
+
headers,
|
|
20
|
+
});
|
|
21
|
+
if (delRes.ok) {
|
|
22
|
+
const data = await delRes.json();
|
|
23
|
+
console.log(`[ugly-app] Deleted ${data.deleted} cloud dev resource(s).`);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
const body = await delRes.text().catch(() => '');
|
|
27
|
+
console.error(`[ugly-app] Failed to delete resources: ${delRes.status} ${body}`);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
15
32
|
console.error(`[ugly-app] Failed to list resources: ${listRes.status} ${listRes.statusText}`);
|
|
33
|
+
console.error('[ugly-app] Run with --all to force-delete all resources.');
|
|
16
34
|
process.exit(1);
|
|
17
35
|
}
|
|
18
36
|
const resources = await listRes.json();
|
|
@@ -31,18 +49,29 @@ export async function runCloudCleanup(opts) {
|
|
|
31
49
|
console.log(' npx ugly-app cloud:cleanup --all');
|
|
32
50
|
return;
|
|
33
51
|
}
|
|
34
|
-
// Delete all
|
|
52
|
+
// Delete all via bulk endpoint
|
|
35
53
|
console.log('[ugly-app] Deleting all cloud dev resources...');
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
54
|
+
const delRes = await fetch(`${serverUrl}/api/dev-resources/all`, {
|
|
55
|
+
method: 'DELETE',
|
|
56
|
+
headers,
|
|
57
|
+
});
|
|
58
|
+
if (delRes.ok) {
|
|
59
|
+
const data = await delRes.json();
|
|
60
|
+
console.log(`[ugly-app] Deleted ${data.deleted} resource(s).`);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// Fallback: delete one-by-one
|
|
64
|
+
for (const r of resources) {
|
|
65
|
+
const res = await fetch(`${serverUrl}/api/dev-resources/${r.projectId}`, {
|
|
66
|
+
method: 'DELETE',
|
|
67
|
+
headers,
|
|
68
|
+
});
|
|
69
|
+
if (res.ok) {
|
|
70
|
+
console.log(` Deleted: ${r.projectId}`);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
console.error(` Failed to delete ${r.projectId}: ${res.status}`);
|
|
74
|
+
}
|
|
46
75
|
}
|
|
47
76
|
}
|
|
48
77
|
console.log('\n[ugly-app] Done.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudCleanup.js","sourceRoot":"","sources":["../../src/cli/cloudCleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQjE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAuB;IAC3D,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"cloudCleanup.js","sourceRoot":"","sources":["../../src/cli/cloudCleanup.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.294";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
package/package.json
CHANGED
package/src/cli/cloudCleanup.ts
CHANGED
|
@@ -15,14 +15,31 @@ export async function runCloudCleanup(opts: { all?: boolean }): Promise<void> {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
const serverUrl = auth.serverUrl || getUglyBotUrl();
|
|
18
|
+
const headers = { 'Authorization': `Bearer ${auth.token}` };
|
|
18
19
|
|
|
19
20
|
// List resources
|
|
20
|
-
const listRes = await fetch(`${serverUrl}/api/dev-resources`, {
|
|
21
|
-
headers: { 'Authorization': `Bearer ${auth.token}` },
|
|
22
|
-
});
|
|
21
|
+
const listRes = await fetch(`${serverUrl}/api/dev-resources`, { headers });
|
|
23
22
|
|
|
24
23
|
if (!listRes.ok) {
|
|
24
|
+
// If listing fails but user wants to delete all, use the bulk delete endpoint
|
|
25
|
+
if (opts.all) {
|
|
26
|
+
console.log('[ugly-app] Could not list resources, attempting bulk delete...');
|
|
27
|
+
const delRes = await fetch(`${serverUrl}/api/dev-resources/all`, {
|
|
28
|
+
method: 'DELETE',
|
|
29
|
+
headers,
|
|
30
|
+
});
|
|
31
|
+
if (delRes.ok) {
|
|
32
|
+
const data = await delRes.json() as { deleted: number };
|
|
33
|
+
console.log(`[ugly-app] Deleted ${data.deleted} cloud dev resource(s).`);
|
|
34
|
+
} else {
|
|
35
|
+
const body = await delRes.text().catch(() => '');
|
|
36
|
+
console.error(`[ugly-app] Failed to delete resources: ${delRes.status} ${body}`);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
25
41
|
console.error(`[ugly-app] Failed to list resources: ${listRes.status} ${listRes.statusText}`);
|
|
42
|
+
console.error('[ugly-app] Run with --all to force-delete all resources.');
|
|
26
43
|
process.exit(1);
|
|
27
44
|
}
|
|
28
45
|
|
|
@@ -46,17 +63,27 @@ export async function runCloudCleanup(opts: { all?: boolean }): Promise<void> {
|
|
|
46
63
|
return;
|
|
47
64
|
}
|
|
48
65
|
|
|
49
|
-
// Delete all
|
|
66
|
+
// Delete all via bulk endpoint
|
|
50
67
|
console.log('[ugly-app] Deleting all cloud dev resources...');
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
68
|
+
const delRes = await fetch(`${serverUrl}/api/dev-resources/all`, {
|
|
69
|
+
method: 'DELETE',
|
|
70
|
+
headers,
|
|
71
|
+
});
|
|
72
|
+
if (delRes.ok) {
|
|
73
|
+
const data = await delRes.json() as { deleted: number };
|
|
74
|
+
console.log(`[ugly-app] Deleted ${data.deleted} resource(s).`);
|
|
75
|
+
} else {
|
|
76
|
+
// Fallback: delete one-by-one
|
|
77
|
+
for (const r of resources) {
|
|
78
|
+
const res = await fetch(`${serverUrl}/api/dev-resources/${r.projectId}`, {
|
|
79
|
+
method: 'DELETE',
|
|
80
|
+
headers,
|
|
81
|
+
});
|
|
82
|
+
if (res.ok) {
|
|
83
|
+
console.log(` Deleted: ${r.projectId}`);
|
|
84
|
+
} else {
|
|
85
|
+
console.error(` Failed to delete ${r.projectId}: ${res.status}`);
|
|
86
|
+
}
|
|
60
87
|
}
|
|
61
88
|
}
|
|
62
89
|
console.log('\n[ugly-app] Done.');
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.294";
|