create-svc 0.1.50 → 0.1.52

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-svc",
3
- "version": "0.1.50",
3
+ "version": "0.1.52",
4
4
  "description": "Local microservice bootstrap CLI for Cloud Run and Workers services with Neon-backed data.",
5
5
  "module": "index.ts",
6
6
  "type": "module",
@@ -320,6 +320,8 @@ test("scaffolds the workers target with wrangler lifecycle commands", async () =
320
320
  expect(wranglerConfig).toContain('binding = "HYPERDRIVE"');
321
321
  expect(wranglerConfig).toContain('AUTH_ENABLED = "true"');
322
322
  expect(wranglerConfig).toContain('AUTH_AUDIENCE = "api://dns-api"');
323
+ expect(wranglerConfig).not.toContain("[triggers]");
324
+ expect(wranglerConfig).not.toContain("crons");
323
325
  const authSource = await Bun.file(join(generatedRoot, "src", "auth.ts")).text();
324
326
  expect(authSource).toContain('alg === "EdDSA"');
325
327
  expect(authSource).toContain('name: "Ed25519"');
@@ -285,7 +285,7 @@ async function deleteHyperdrive() {
285
285
  if (!id) {
286
286
  return;
287
287
  }
288
- run("wrangler", ["hyperdrive", "delete", id, "--force"], { allowFailure: true });
288
+ run("wrangler", ["hyperdrive", "delete", id], { allowFailure: true });
289
289
  }
290
290
 
291
291
  async function resolveDatabaseUrl(options: { preferRemote?: boolean } = {}) {
@@ -382,9 +382,9 @@ async function resolveNeonTarget(apiKey: string) {
382
382
  }
383
383
 
384
384
  async function deleteNeonDatabase() {
385
- const apiKey = Bun.env.NEON_API_KEY?.trim();
385
+ const apiKey = resolveNeonApiKey();
386
386
  if (!apiKey) {
387
- log.step("Skipping Neon database deletion because NEON_API_KEY is not set");
387
+ log.step("Skipping Neon database deletion because NEON_API_KEY or a readable Vault Neon provider path is not available");
388
388
  return;
389
389
  }
390
390
 
@@ -489,13 +489,6 @@ async function runDoctor() {
489
489
  }
490
490
  return "name and custom domain route configured";
491
491
  });
492
- await record(results, "Cron Trigger", "fail", async () => {
493
- const text = await Bun.file("./wrangler.toml").text();
494
- if (!text.includes("[triggers]") || !text.includes("crons")) {
495
- throw new Error("wrangler.toml is missing a cron trigger");
496
- }
497
- return "cron trigger configured";
498
- });
499
492
  await record(results, "Hyperdrive binding", "warn", async () => {
500
493
  const text = await Bun.file("./wrangler.toml").text();
501
494
  if (!text.includes('binding = "HYPERDRIVE"')) {
@@ -7,7 +7,6 @@ This `{{PROFILE}}` profile targets `{{RUNTIME}} + {{FRAMEWORK}}` on Cloudflare W
7
7
  - one `wrangler.toml`
8
8
  - a lightweight waitlist/launch API
9
9
  - the `service` CLI for create, deploy, doctor, dashboards, DNS, and destroy
10
- - Cron Trigger wiring for scheduled follow-up work
11
10
  - a Hyperdrive binding for Neon-backed Postgres persistence
12
11
  - a production API origin at `https://{{API_HOSTNAME}}`
13
12
 
@@ -62,7 +61,7 @@ configured in `wrangler.toml`:
62
61
  https://{{API_HOSTNAME}}
63
62
  ```
64
63
 
65
- Use `service doctor` after create to verify Wrangler auth, route config, Cron,
64
+ Use `service doctor` after create to verify Wrangler auth, route config,
66
65
  Hyperdrive, dashboard tooling, auth tooling, and deployed health.
67
66
 
68
67
  {{PRODUCTION_PROTECTED_CHECKS}}
@@ -12,9 +12,6 @@ AUTH_ISSUER = "{{AUTH_ISSUER}}"
12
12
  AUTH_AUDIENCE = "{{AUTH_AUDIENCE}}"
13
13
  AUTH_JWKS_URL = "{{AUTH_JWKS_URL}}"
14
14
 
15
- [triggers]
16
- crons = ["*/15 * * * *"]
17
-
18
15
  [[routes]]
19
16
  pattern = "{{API_HOSTNAME}}"
20
17
  custom_domain = true