vela 0.11.2 → 0.11.3

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/bin.js CHANGED
@@ -21,7 +21,7 @@ import pc38 from "picocolors";
21
21
  // package.json
22
22
  var package_default = {
23
23
  name: "vela",
24
- version: "0.11.2",
24
+ version: "0.11.3",
25
25
  type: "module",
26
26
  description: "A CLI for creating and updating SvelteKit projects",
27
27
  license: "MIT",
@@ -55,7 +55,7 @@ var package_default = {
55
55
  dependencies: {
56
56
  "@clack/prompts": "^1.7.0",
57
57
  "@faker-js/faker": "^10.6.0",
58
- "@velastack/patterns": "^0.2.2",
58
+ "@velastack/patterns": "^0.2.3",
59
59
  "@velastack/pocketbase-codegen": "^0.1.0",
60
60
  "annotate-json-schema": "^0.1.0",
61
61
  commander: "^13.1.0",
@@ -2462,7 +2462,7 @@ var form = new Command4("form").description("generate a form from a model").argu
2462
2462
  ).option(
2463
2463
  "--ai <description>",
2464
2464
  "design the form with AI from a natural-language description (two stages: schema \u2192 layout)"
2465
- ).allowUnknownOption(true).configureHelp(helpConfig).action(
2465
+ ).allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2466
2466
  (model, fields, options) => runCommand(async () => {
2467
2467
  let argv;
2468
2468
  let modelName;
@@ -2521,7 +2521,7 @@ var form = new Command4("form").description("generate a form from a model").argu
2521
2521
  // src/commands/generate/schema.ts
2522
2522
  import { Command as Command5 } from "commander";
2523
2523
  import * as p12 from "@clack/prompts";
2524
- var schema = new Command5("schema").description("generate a schema from a model").argument("[model]", "model name").argument("[fields...]", "field definitions").option("--ai <description>", "design the schema with AI from a natural-language description").allowUnknownOption(true).configureHelp(helpConfig).action(
2524
+ var schema = new Command5("schema").description("generate a schema from a model").argument("[model]", "model name").argument("[fields...]", "field definitions").option("--ai <description>", "design the schema with AI from a natural-language description").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2525
2525
  (model, fields, options) => runCommand(async () => {
2526
2526
  let argv;
2527
2527
  let modelName;
@@ -2565,7 +2565,7 @@ var schema = new Command5("schema").description("generate a schema from a model"
2565
2565
 
2566
2566
  // src/commands/generate/resource.ts
2567
2567
  import { Command as Command6 } from "commander";
2568
- var resource = new Command6("resource").description("generate a resource (model + CRUD pages)").argument("<model>", "model name").argument("[fields...]", "field definitions").allowUnknownOption(true).configureHelp(helpConfig).action(
2568
+ var resource = new Command6("resource").description("generate a resource (model + CRUD pages)").argument("<model>", "model name").argument("[fields...]", "field definitions").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2569
2569
  (model, fields) => runCommand(
2570
2570
  () => runPattern(
2571
2571
  "generate-resource",
@@ -2598,7 +2598,7 @@ var scaffold = new Command7("scaffold").description("generate a full CRUD scaffo
2598
2598
  ).option(
2599
2599
  "--ai <description>",
2600
2600
  "design the scaffold with AI from a natural-language description (two stages: schema \u2192 layout)"
2601
- ).allowUnknownOption(true).configureHelp(helpConfig).action(
2601
+ ).allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2602
2602
  (model, fields, options) => runCommand(async () => {
2603
2603
  let argv;
2604
2604
  let modelName;
@@ -2657,7 +2657,7 @@ var scaffold = new Command7("scaffold").description("generate a full CRUD scaffo
2657
2657
 
2658
2658
  // src/commands/generate/migration.ts
2659
2659
  import { Command as Command8 } from "commander";
2660
- var migration = new Command8("migration").description("generate a migration for an existing collection").argument("<collection>", "collection name").argument("<op>", "operation (add, remove, rename, references)").argument("[args...]", 'operation arguments (e.g. "birthday:date")').allowUnknownOption(true).configureHelp(helpConfig).action(
2660
+ var migration = new Command8("migration").description("generate a migration for an existing collection").argument("<collection>", "collection name").argument("<op>", "operation (add, remove, rename, references)").argument("[args...]", 'operation arguments (e.g. "birthday:date")').allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2661
2661
  (collection, op, args) => runCommand(
2662
2662
  () => runPattern(
2663
2663
  "generate-migration",
@@ -2688,7 +2688,7 @@ import { Command as Command24 } from "commander";
2688
2688
 
2689
2689
  // src/commands/enable/auth.ts
2690
2690
  import { Command as Command10 } from "commander";
2691
- var auth = new Command10("auth").description("enable authentication (email/password + OAuth scaffold)").allowUnknownOption(true).configureHelp(helpConfig).action(
2691
+ var auth = new Command10("auth").description("enable authentication (email/password + OAuth scaffold)").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2692
2692
  (_opts, cmd) => runCommand(
2693
2693
  () => runPattern(
2694
2694
  "enable-auth",
@@ -2714,7 +2714,7 @@ var auth = new Command10("auth").description("enable authentication (email/passw
2714
2714
 
2715
2715
  // src/commands/enable/api.ts
2716
2716
  import { Command as Command11 } from "commander";
2717
- var api = new Command11("api").description("enable the PocketBase REST API").allowUnknownOption(true).configureHelp(helpConfig).action(
2717
+ var api = new Command11("api").description("enable the PocketBase REST API").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2718
2718
  (_opts, cmd) => runCommand(
2719
2719
  () => runPattern(
2720
2720
  "enable-api",
@@ -2740,7 +2740,7 @@ var api = new Command11("api").description("enable the PocketBase REST API").all
2740
2740
 
2741
2741
  // src/commands/enable/api-keys.ts
2742
2742
  import { Command as Command12 } from "commander";
2743
- var apiKeys = new Command12("api-keys").description("enable API key management").allowUnknownOption(true).configureHelp(helpConfig).action(
2743
+ var apiKeys = new Command12("api-keys").description("enable API key management").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2744
2744
  (_opts, cmd) => runCommand(
2745
2745
  () => runPattern(
2746
2746
  "enable-api-keys",
@@ -2766,7 +2766,7 @@ var apiKeys = new Command12("api-keys").description("enable API key management")
2766
2766
 
2767
2767
  // src/commands/enable/backend.ts
2768
2768
  import { Command as Command13 } from "commander";
2769
- var backend = new Command13("backend").description("enable the PocketBase backend").allowUnknownOption(true).configureHelp(helpConfig).action(
2769
+ var backend = new Command13("backend").description("enable the PocketBase backend").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2770
2770
  (_opts, cmd) => runCommand(
2771
2771
  () => runPattern(
2772
2772
  "enable-backend",
@@ -2792,7 +2792,7 @@ var backend = new Command13("backend").description("enable the PocketBase backen
2792
2792
 
2793
2793
  // src/commands/enable/i18n.ts
2794
2794
  import { Command as Command14 } from "commander";
2795
- var i18n = new Command14("i18n").description("enable internationalization").allowUnknownOption(true).configureHelp(helpConfig).action(
2795
+ var i18n = new Command14("i18n").description("enable internationalization").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2796
2796
  (_opts, cmd) => runCommand(
2797
2797
  () => runPattern(
2798
2798
  "enable-i18n",
@@ -2818,7 +2818,7 @@ var i18n = new Command14("i18n").description("enable internationalization").allo
2818
2818
 
2819
2819
  // src/commands/enable/teams.ts
2820
2820
  import { Command as Command15 } from "commander";
2821
- var teams = new Command15("teams").description("enable team / multi-tenant support").allowUnknownOption(true).configureHelp(helpConfig).action(
2821
+ var teams = new Command15("teams").description("enable team / multi-tenant support").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2822
2822
  (_opts, cmd) => runCommand(
2823
2823
  () => runPattern(
2824
2824
  "enable-teams",
@@ -2847,7 +2847,7 @@ import process9 from "node:process";
2847
2847
  import { Command as Command16 } from "commander";
2848
2848
  import * as p14 from "@clack/prompts";
2849
2849
  var PROVIDERS = [{ value: "stripe", label: "Stripe" }];
2850
- var payments = new Command16("payments").description("enable payments").option("--provider <provider>", "payment provider", "stripe").allowUnknownOption(true).configureHelp(helpConfig).action(
2850
+ var payments = new Command16("payments").description("enable payments").option("--provider <provider>", "payment provider", "stripe").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2851
2851
  (opts, cmd) => runCommand(async () => {
2852
2852
  const provider = await resolveProvider(opts.provider, cmd.getOptionValueSource("provider"));
2853
2853
  const input = {
@@ -2945,7 +2945,7 @@ async function promptPassword(message) {
2945
2945
 
2946
2946
  // src/commands/enable/subscriptions.ts
2947
2947
  import { Command as Command17 } from "commander";
2948
- var subscriptions = new Command17("subscriptions").description("enable Stripe subscriptions (requires auth and payments)").allowUnknownOption(true).configureHelp(helpConfig).action(
2948
+ var subscriptions = new Command17("subscriptions").description("enable Stripe subscriptions (requires auth and payments)").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2949
2949
  (_opts, cmd) => runCommand(
2950
2950
  () => runPattern(
2951
2951
  "enable-subscriptions",
@@ -2971,7 +2971,7 @@ var subscriptions = new Command17("subscriptions").description("enable Stripe su
2971
2971
 
2972
2972
  // src/commands/enable/notifications.ts
2973
2973
  import { Command as Command18 } from "commander";
2974
- var notifications = new Command18("notifications").description("enable in-app notifications with a bell dropdown (requires auth)").allowUnknownOption(true).configureHelp(helpConfig).action(
2974
+ var notifications = new Command18("notifications").description("enable in-app notifications with a bell dropdown (requires auth)").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
2975
2975
  (_opts, cmd) => runCommand(
2976
2976
  () => runPattern(
2977
2977
  "enable-notifications",
@@ -4361,43 +4361,41 @@ import process14 from "node:process";
4361
4361
  import { Command as Command21 } from "commander";
4362
4362
  import * as p19 from "@clack/prompts";
4363
4363
  import pc9 from "picocolors";
4364
- var cms = new Command21("cms").description("enable an inline-editing CMS with an admin bar").allowUnknownOption(true).configureHelp(helpConfig).action(
4365
- (_opts, cmd) => runCommand(async () => {
4366
- if (!hasBackend()) {
4364
+ var cms = new Command21("cms").description("enable an inline-editing CMS with an admin bar").option(
4365
+ "--endpoint <url>",
4366
+ "read from a hosted CMS at this URL instead of installing the backend in this app"
4367
+ ).allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4368
+ (opts, cmd) => runCommand(async () => {
4369
+ if (!opts.endpoint && !hasBackend()) {
4367
4370
  p19.log.error(
4368
4371
  `${pc9.cyan("vela enable cms")} needs a server to host the CMS backend, and this project is static.
4369
4372
 
4370
- Run ${pc9.cyan("vela bless")} to add a backend first.`
4373
+ Run ${pc9.cyan("vela bless")} to add a backend, or point at a hosted CMS with ${pc9.cyan("vela enable cms --endpoint <url>")}.`
4371
4374
  );
4372
4375
  p19.log.message();
4373
4376
  p19.cancel("Operation failed.");
4374
4377
  process14.exitCode = 1;
4375
4378
  return;
4376
4379
  }
4377
- await runPattern(
4378
- "enable-cms",
4379
- cmd.args,
4380
- {},
4381
- {
4382
- summary: "Enabled CMS.",
4383
- nextSteps: [
4384
- "Run `vela cms editor add you@example.com` to create the first editor login.",
4385
- "Run `vela dev`, open any page with `?edit` on the URL, and sign in from the admin bar.",
4386
- "Wrap page copy in `<CmsText>` and images in `<CmsImage>` to make them editable."
4387
- ],
4388
- task: {
4389
- title: "Enabling CMS",
4390
- success: "Enabled CMS",
4391
- error: "Failed to enable CMS"
4392
- }
4380
+ await runPattern("enable-cms", cmd.args, opts.endpoint ? { endpoint: opts.endpoint } : {}, {
4381
+ summary: "Enabled CMS.",
4382
+ nextSteps: [
4383
+ opts.endpoint ? "Editors are managed where the CMS is hosted, not with `vela cms editor`." : "Run `vela cms editor add you@example.com` to create the first editor login.",
4384
+ "Run `vela dev`, open any page with `?edit` on the URL, and sign in from the admin bar.",
4385
+ "Wrap page copy in `<CmsText>` and images in `<CmsImage>` to make them editable."
4386
+ ],
4387
+ task: {
4388
+ title: "Enabling CMS",
4389
+ success: "Enabled CMS",
4390
+ error: "Failed to enable CMS"
4393
4391
  }
4394
- );
4392
+ });
4395
4393
  }, "Failed to enable CMS.")
4396
4394
  );
4397
4395
 
4398
4396
  // src/commands/enable/blog.ts
4399
4397
  import { Command as Command22 } from "commander";
4400
- var blog = new Command22("blog").description("enable an mdsvex blog with posts, tags, and RSS").allowUnknownOption(true).configureHelp(helpConfig).action(
4398
+ var blog = new Command22("blog").description("enable an mdsvex blog with posts, tags, and RSS").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4401
4399
  (_opts, cmd) => runCommand(
4402
4400
  () => runPattern(
4403
4401
  "enable-blog",
@@ -4423,7 +4421,7 @@ var blog = new Command22("blog").description("enable an mdsvex blog with posts,
4423
4421
 
4424
4422
  // src/commands/enable/content-negotiation.ts
4425
4423
  import { Command as Command23 } from "commander";
4426
- var contentNegotiation = new Command23("content-negotiation").description("enable content negotiation (sveltekit-negotiate)").allowUnknownOption(true).configureHelp(helpConfig).action(
4424
+ var contentNegotiation = new Command23("content-negotiation").description("enable content negotiation (sveltekit-negotiate)").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4427
4425
  (_opts, cmd) => runCommand(
4428
4426
  () => runPattern(
4429
4427
  "enable-content-negotiation",
@@ -4473,7 +4471,7 @@ async function runDisable(opts, flags, cmdArgs) {
4473
4471
  }
4474
4472
 
4475
4473
  // src/commands/disable/auth.ts
4476
- var auth2 = new Command25("auth").description("disable authentication").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).configureHelp(helpConfig).action(
4474
+ var auth2 = new Command25("auth").description("disable authentication").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4477
4475
  (opts, cmd) => runCommand(
4478
4476
  () => runDisable(
4479
4477
  {
@@ -4500,7 +4498,7 @@ var auth2 = new Command25("auth").description("disable authentication").option("
4500
4498
 
4501
4499
  // src/commands/disable/api.ts
4502
4500
  import { Command as Command26 } from "commander";
4503
- var api2 = new Command26("api").description("disable the REST API").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).configureHelp(helpConfig).action(
4501
+ var api2 = new Command26("api").description("disable the REST API").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4504
4502
  (opts, cmd) => runCommand(
4505
4503
  () => runDisable(
4506
4504
  {
@@ -4524,7 +4522,7 @@ var api2 = new Command26("api").description("disable the REST API").option("-y,
4524
4522
 
4525
4523
  // src/commands/disable/api-keys.ts
4526
4524
  import { Command as Command27 } from "commander";
4527
- var apiKeys2 = new Command27("api-keys").description("disable API key management").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).configureHelp(helpConfig).action(
4525
+ var apiKeys2 = new Command27("api-keys").description("disable API key management").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4528
4526
  (opts, cmd) => runCommand(
4529
4527
  () => runDisable(
4530
4528
  {
@@ -4548,7 +4546,7 @@ var apiKeys2 = new Command27("api-keys").description("disable API key management
4548
4546
 
4549
4547
  // src/commands/disable/backend.ts
4550
4548
  import { Command as Command28 } from "commander";
4551
- var backend2 = new Command28("backend").description("disable the PocketBase backend").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).configureHelp(helpConfig).action(
4549
+ var backend2 = new Command28("backend").description("disable the PocketBase backend").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4552
4550
  (opts, cmd) => runCommand(
4553
4551
  () => runDisable(
4554
4552
  {
@@ -4572,7 +4570,7 @@ var backend2 = new Command28("backend").description("disable the PocketBase back
4572
4570
 
4573
4571
  // src/commands/disable/content-negotiation.ts
4574
4572
  import { Command as Command29 } from "commander";
4575
- var contentNegotiation2 = new Command29("content-negotiation").description("disable content negotiation").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).configureHelp(helpConfig).action(
4573
+ var contentNegotiation2 = new Command29("content-negotiation").description("disable content negotiation").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4576
4574
  (opts, cmd) => runCommand(
4577
4575
  () => runDisable(
4578
4576
  {
@@ -4596,7 +4594,7 @@ var contentNegotiation2 = new Command29("content-negotiation").description("disa
4596
4594
 
4597
4595
  // src/commands/disable/i18n.ts
4598
4596
  import { Command as Command30 } from "commander";
4599
- var i18n2 = new Command30("i18n").description("disable internationalization").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).configureHelp(helpConfig).action(
4597
+ var i18n2 = new Command30("i18n").description("disable internationalization").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4600
4598
  (opts, cmd) => runCommand(
4601
4599
  () => runDisable(
4602
4600
  {
@@ -4623,7 +4621,7 @@ var i18n2 = new Command30("i18n").description("disable internationalization").op
4623
4621
 
4624
4622
  // src/commands/disable/teams.ts
4625
4623
  import { Command as Command31 } from "commander";
4626
- var teams2 = new Command31("teams").description("disable teams").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).configureHelp(helpConfig).action(
4624
+ var teams2 = new Command31("teams").description("disable teams").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4627
4625
  (opts, cmd) => runCommand(
4628
4626
  () => runDisable(
4629
4627
  {
@@ -4650,7 +4648,7 @@ var teams2 = new Command31("teams").description("disable teams").option("-y, --y
4650
4648
 
4651
4649
  // src/commands/disable/payments.ts
4652
4650
  import { Command as Command32 } from "commander";
4653
- var payments2 = new Command32("payments").description("disable payments").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).configureHelp(helpConfig).action(
4651
+ var payments2 = new Command32("payments").description("disable payments").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4654
4652
  (opts, cmd) => runCommand(
4655
4653
  () => runDisable(
4656
4654
  {
@@ -4754,7 +4752,7 @@ async function runDestroy(slug2, model, confirmMessage, report4, flags) {
4754
4752
  var form2 = new Command36("form").description("destroy a form generated by `vela generate form`").argument("<model>", "model name used when the form was generated (e.g., contact, login)").option("-y, --yes", "skip confirmation prompt").option(
4755
4753
  "--route <route>",
4756
4754
  "custom route the form was generated at (must match the --route used at generation)"
4757
- ).allowUnknownOption(true).configureHelp(helpConfig).action(
4755
+ ).allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4758
4756
  (model, opts) => runCommand(
4759
4757
  () => runDestroy(
4760
4758
  "destroy-form",
@@ -4776,7 +4774,7 @@ var form2 = new Command36("form").description("destroy a form generated by `vela
4776
4774
 
4777
4775
  // src/commands/destroy/schema.ts
4778
4776
  import { Command as Command37 } from "commander";
4779
- var schema2 = new Command37("schema").description("destroy a zod schema generated by `vela generate schema`").argument("<model>", "schema model name (e.g., contact, login)").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).configureHelp(helpConfig).action(
4777
+ var schema2 = new Command37("schema").description("destroy a zod schema generated by `vela generate schema`").argument("<model>", "schema model name (e.g., contact, login)").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4780
4778
  (model, opts) => runCommand(
4781
4779
  () => runDestroy(
4782
4780
  "destroy-schema",
@@ -4798,7 +4796,7 @@ var schema2 = new Command37("schema").description("destroy a zod schema generate
4798
4796
 
4799
4797
  // src/commands/destroy/resource.ts
4800
4798
  import { Command as Command38 } from "commander";
4801
- var resource2 = new Command38("resource").description("destroy a resource generated by `vela generate resource`").argument("<model>", "model path used when the resource was generated (e.g., contacts, articles)").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).configureHelp(helpConfig).action(
4799
+ var resource2 = new Command38("resource").description("destroy a resource generated by `vela generate resource`").argument("<model>", "model path used when the resource was generated (e.g., contacts, articles)").option("-y, --yes", "skip confirmation prompt").allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4802
4800
  (model, opts) => runCommand(
4803
4801
  () => runDestroy(
4804
4802
  "destroy-resource",
@@ -4823,7 +4821,7 @@ import { Command as Command39 } from "commander";
4823
4821
  var scaffold2 = new Command39("scaffold").description("destroy a scaffold generated by `vela generate scaffold`").argument("<model>", "model name used when the scaffold was generated (e.g., contact, todo)").option("-y, --yes", "skip confirmation prompt").option(
4824
4822
  "--route <route>",
4825
4823
  "custom route the scaffold was generated at (must match the --route used at generation)"
4826
- ).allowUnknownOption(true).configureHelp(helpConfig).action(
4824
+ ).allowUnknownOption(true).allowExcessArguments(true).configureHelp(helpConfig).action(
4827
4825
  (model, opts) => runCommand(
4828
4826
  () => runDestroy(
4829
4827
  "destroy-scaffold",