@wervt/cli 0.2.4 → 0.2.6
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/index.mjs +21 -3
- package/package.json +1 -1
- package/skill/SKILL.md +2 -1
package/dist/index.mjs
CHANGED
|
@@ -220,7 +220,9 @@ const deploy = defineCommand({
|
|
|
220
220
|
const labels = {
|
|
221
221
|
extract: "Extracting",
|
|
222
222
|
migrate: "Migrating database",
|
|
223
|
-
|
|
223
|
+
storage: "Setting up storage",
|
|
224
|
+
activate: "Activating",
|
|
225
|
+
boot: "Starting"
|
|
224
226
|
};
|
|
225
227
|
const decoder = new TextDecoder();
|
|
226
228
|
let buffer = "";
|
|
@@ -236,11 +238,27 @@ const deploy = defineCommand({
|
|
|
236
238
|
return;
|
|
237
239
|
}
|
|
238
240
|
if (event.done) {
|
|
239
|
-
spinner.stop(`Release ${event.release}`);
|
|
241
|
+
spinner.stop(`Release ${event.release}${event.bootMs === void 0 ? "" : `, started in ${event.bootMs} ms`}`);
|
|
240
242
|
p.outro(`Deployed → ${event.url}`);
|
|
241
243
|
if (process.env.GITHUB_OUTPUT) await appendFile(process.env.GITHUB_OUTPUT, `url=${event.url}\nrelease=${event.release}\n`);
|
|
242
244
|
return;
|
|
243
245
|
}
|
|
246
|
+
if (event.step === "boot-unchecked") {
|
|
247
|
+
p.log.warn("Couldn't check that the release starts. Open the app to make sure.");
|
|
248
|
+
continue;
|
|
249
|
+
}
|
|
250
|
+
if (event.step === "boot-failed") {
|
|
251
|
+
spinner.error(`Release ${event.release} didn't start`);
|
|
252
|
+
p.log.message(event.message);
|
|
253
|
+
if (event.restored) p.log.info(`${name} is back on ${event.restored}.`);
|
|
254
|
+
else p.log.warn(`${name} has no earlier release to go back to.`);
|
|
255
|
+
process.exitCode = 1;
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
if (event.step === "storage-failed") {
|
|
259
|
+
p.log.warn(`Storage isn't set up: ${event.message}. The app runs; files won't work yet.`);
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
244
262
|
spinner.message(labels[event.step] ?? event.step);
|
|
245
263
|
}
|
|
246
264
|
}
|
|
@@ -561,7 +579,7 @@ const remove = defineCommand({
|
|
|
561
579
|
},
|
|
562
580
|
"drop-database": {
|
|
563
581
|
type: "boolean",
|
|
564
|
-
description: "Also drop the app's schema and all its data"
|
|
582
|
+
description: "Also drop the app's schema, its files and all its data"
|
|
565
583
|
},
|
|
566
584
|
yes: {
|
|
567
585
|
type: "boolean",
|
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -34,7 +34,8 @@ The app comes with `AGENTS.md`, skills in `.claude/skills/` and a deploy workflo
|
|
|
34
34
|
`AGENTS.md` before writing code** and follow it: server routes, valibot validation, Drizzle schema
|
|
35
35
|
and migrations, live data with shapes, users, logging, and what the isolate runtime can't do
|
|
36
36
|
(no filesystem, no child processes, no long-running work, no WebSockets). Periodic work goes
|
|
37
|
-
into tasks (`defineTask` + `nitro.scheduledTasks`), which wervt runs on schedule.
|
|
37
|
+
into tasks (`defineTask` + `nitro.scheduledTasks`), which wervt runs on schedule. Files go into
|
|
38
|
+
the app's own bucket with ablage (`pnpm add ablage`, no configuration).
|
|
38
39
|
|
|
39
40
|
Before picking a name, run `wervt apps` so you don't overwrite an existing app. If the user named an
|
|
40
41
|
existing app, work in its repository instead.
|