@clubedge/create-clubedge-app 0.35.0 → 0.36.0

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +11 -10
  3. package/package.json +6 -6
  4. package/template/.github/workflows/preview.yml +3 -1
  5. package/template/apps/api/package.json +1 -1
  6. package/template/apps/api-fastapi/package.json +1 -1
  7. package/template/apps/api-fastapi/pyproject.toml +1 -1
  8. package/template/apps/api-fastapi/uv.lock +4 -4
  9. package/template/apps/start/package.json +1 -1
  10. package/template/apps/vite/package.json +1 -1
  11. package/template/apps/web/package.json +1 -1
  12. package/template/package.json +1 -1
  13. package/template/packages/auth/package.json +1 -1
  14. package/template/packages/auth-appwrite/package.json +1 -1
  15. package/template/packages/auth-better-auth/package.json +1 -1
  16. package/template/packages/auth-firebase/package.json +1 -1
  17. package/template/packages/auth-supabase/package.json +1 -1
  18. package/template/packages/cache/package.json +1 -1
  19. package/template/packages/cache-redis/package.json +1 -1
  20. package/template/packages/contract/package.json +1 -1
  21. package/template/packages/core/package.json +1 -1
  22. package/template/packages/db/package.json +1 -1
  23. package/template/packages/email/package.json +1 -1
  24. package/template/packages/email-resend/package.json +1 -1
  25. package/template/packages/email-smtp/package.json +1 -1
  26. package/template/packages/jobs/package.json +1 -1
  27. package/template/packages/jobs-bullmq/package.json +1 -1
  28. package/template/packages/jobs-inngest/package.json +1 -1
  29. package/template/packages/jobs-pg-boss/package.json +1 -1
  30. package/template/packages/local-db/package.json +1 -1
  31. package/template/packages/observability/package.json +1 -1
  32. package/template/packages/observability-otel/package.json +1 -1
  33. package/template/packages/observability-sentry/package.json +1 -1
  34. package/template/packages/payments/package.json +1 -1
  35. package/template/packages/payments-stripe/package.json +1 -1
  36. package/template/packages/storage/package.json +1 -1
  37. package/template/packages/storage-s3/package.json +1 -1
  38. package/template/packages/storage-supabase/package.json +1 -1
  39. package/template/packages/ui/package.json +1 -1
  40. package/template.lock.json +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to `create-clubedge-app` are documented here.
4
4
 
5
+ ## 0.36.0
6
+
7
+ - Bump vitest from 5.0.3 to 5.0.5 in the minor-and-patch group (#104).
8
+ - Bump giget from 2.0.0 to 3.3.1 (#69).
9
+ - Bump @types/node from 22.20.5 to 26.6.5 (#68).
10
+ - Default to Starter `v0.24.1` (#107).
11
+
5
12
  ## 0.35.0
6
13
 
7
14
  - **Deploy a frontend and its separate API** (#103):
package/README.md CHANGED
@@ -152,7 +152,7 @@ pnpm dlx @clubedge/create-clubedge-app my-app --yes --no-git --framework tanstac
152
152
  pnpm dlx @clubedge/create-clubedge-app my-app --ref main
153
153
 
154
154
  # Reproduce a specific Starter release or commit
155
- pnpm dlx @clubedge/create-clubedge-app my-app --ref v0.24.0
155
+ pnpm dlx @clubedge/create-clubedge-app my-app --ref v0.24.1
156
156
  pnpm dlx @clubedge/create-clubedge-app my-app --ref <commit-sha>
157
157
 
158
158
  # Test local Starter changes before releasing them
@@ -171,7 +171,7 @@ pnpm clubedge add email resend payments stripe # several modules as
171
171
  pnpm clubedge remove storage payments
172
172
  pnpm dlx @clubedge/create-clubedge-app add infra local --dry-run
173
173
  pnpm dlx @clubedge/create-clubedge-app@latest upgrade # to the newest CLI's Starter release
174
- pnpm dlx @clubedge/create-clubedge-app upgrade --ref v0.24.0 # or a specific tag, branch, or commit
174
+ pnpm dlx @clubedge/create-clubedge-app upgrade --ref v0.24.1 # or a specific tag, branch, or commit
175
175
  ```
176
176
 
177
177
  The CLI renders the project twice, from the Starter commit and modules recorded in your `package.json` and from the new state, and merges the difference into your project. The new state has other modules for `add` and `remove`, and the newer Starter with the same modules for `upgrade`. Modules a newer Starter introduces start as `none` where possible, so an upgrade never adds a service on its own.
@@ -282,27 +282,27 @@ Projects created with `--infra neon` also have `.github/workflows/preview.yml`,
282
282
  Each CLI release is tested against one specific Starter release:
283
283
 
284
284
  ```text
285
- create-clubedge-app v0.35.0
285
+ create-clubedge-app v0.36.0
286
286
  |
287
287
  v
288
- Clubedge Starter v0.24.0
289
- commit 3aaca476bf5ff1db9b5fc4080f7a8a8006436998
288
+ Clubedge Starter v0.24.1
289
+ commit 3e8b5ba8910767f27336cf253fbfe92a9bb42875
290
290
  ```
291
291
 
292
292
  The current relationship is:
293
293
 
294
294
  | CLI release | Default Starter release | Meaning |
295
295
  | --- | --- | --- |
296
- | `create-clubedge-app@0.35.0` | `clubedge-starter@v0.24.0` | The CLI's required, tested default |
296
+ | `create-clubedge-app@0.36.0` | `clubedge-starter@v0.24.1` | The CLI's required, tested default |
297
297
 
298
298
  This means the same CLI version always scaffolds the same Starter revision by default. The CLI does not silently follow Starter `main`.
299
299
 
300
- The `v0.24.0` tag is expected to resolve to commit
301
- `3aaca476bf5ff1db9b5fc4080f7a8a8006436998`. The CLI verifies this before
300
+ The `v0.24.1` tag is expected to resolve to commit
301
+ `3e8b5ba8910767f27336cf253fbfe92a9bb42875`. The CLI verifies this before
302
302
  scaffolding with the default reference and fails rather than silently using a
303
303
  moved tag.
304
304
 
305
- When the Starter changes, its maintainers first publish a new versioned release, such as `v0.24.0`. The CLI is then updated to use that release, all generated-project checks must pass, and a new CLI version is published. This keeps Starter and CLI releases independently versioned while preserving a tested compatibility relationship.
305
+ When the Starter changes, its maintainers first publish a new versioned release, such as `v0.24.1`. The CLI is then updated to use that release, all generated-project checks must pass, and a new CLI version is published. This keeps Starter and CLI releases independently versioned while preserving a tested compatibility relationship.
306
306
 
307
307
  Every generated project records its CLI version, Starter repository, Starter ref, Starter commit, framework, and modules in `package.json` and `README.md`.
308
308
 
@@ -357,7 +357,7 @@ CI packs the CLI with `npm pack`, scaffolds clean projects from the packed tarba
357
357
  1. Make and validate changes in `clubedge-starter`.
358
358
  2. Run lint, typecheck, unit tests, browser tests, and production build.
359
359
  3. Update the Starter package versions.
360
- 4. Commit `main`, create a release tag such as `v0.24.0`, and publish the Starter release.
360
+ 4. Commit `main`, create a release tag such as `v0.24.1`, and publish the Starter release.
361
361
 
362
362
  ### CLI maintainers
363
363
 
@@ -403,6 +403,7 @@ Each phase ends with a Starter release and a CLI release pinned to it. The full
403
403
  | 0.33.0 | v0.22.0 | Starter v0.22.0: stack packs (template schema 4), and a React + Vite frontend with a separate Hono API (`--framework vite --api hono`) |
404
404
  | 0.34.0 | v0.23.0 | Starter v0.23.0: a FastAPI API in Python (`--framework vite --api fastapi`), generated with no CLI change |
405
405
  | 0.35.0 | v0.24.0 | Deploy frontend and API stack packs; Default to Starter v0.24.0 |
406
+ | 0.36.0 | v0.24.1 | Bump vitest from 5.0.3 to 5.0.5 in the minor-and-patch group; Bump giget from 2.0.0 to 3.3.1; Bump @types/node from 22.20.5 to 26.6.5; Default to Starter v0.24.1 |
406
407
  | next | | Show the Starter's version of a conflicted file next to yours |
407
408
 
408
409
  ## Community
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/create-clubedge-app",
3
- "version": "0.35.0",
3
+ "version": "0.36.0",
4
4
  "description": "Create a React app with Next.js, TanStack Start, or Vite and a separate API from the Clubedge Starter.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.9.0",
@@ -22,8 +22,8 @@
22
22
  },
23
23
  "clubedge": {
24
24
  "starterRepository": "Clubedge/clubedge-starter",
25
- "starterRef": "v0.24.0",
26
- "starterCommit": "3aaca476bf5ff1db9b5fc4080f7a8a8006436998"
25
+ "starterRef": "v0.24.1",
26
+ "starterCommit": "3e8b5ba8910767f27336cf253fbfe92a9bb42875"
27
27
  },
28
28
  "license": "Apache-2.0",
29
29
  "repository": {
@@ -53,14 +53,14 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "@clack/prompts": "^1.8.1",
56
- "giget": "^2.0.0",
56
+ "giget": "^3.3.1",
57
57
  "node-diff3": "^3.2.1",
58
58
  "ssh2": "^1.17.0"
59
59
  },
60
60
  "devDependencies": {
61
- "@types/node": "^22.20.5",
61
+ "@types/node": "^26.6.5",
62
62
  "@types/ssh2": "^1.15.6",
63
63
  "typescript": "^5.9.3",
64
- "vitest": "^5.0.3"
64
+ "vitest": "^5.0.5"
65
65
  }
66
66
  }
@@ -21,9 +21,10 @@ env:
21
21
  # clubedge:end
22
22
  jobs:
23
23
  preview:
24
- # Pull requests from forks get no secrets, so they get no preview.
24
+ # Forks and Dependabot PRs get no secrets, so they cannot provision a database preview.
25
25
  if: >-
26
26
  github.event.action != 'closed' && vars.NEON_PROJECT_ID != '' &&
27
+ github.event.pull_request.user.login != 'dependabot[bot]' &&
27
28
  github.event.pull_request.head.repo.full_name == github.repository
28
29
  runs-on: ubuntu-24.04
29
30
  env:
@@ -181,6 +182,7 @@ jobs:
181
182
  cleanup:
182
183
  if: >-
183
184
  github.event.action == 'closed' && vars.NEON_PROJECT_ID != '' &&
185
+ github.event.pull_request.user.login != 'dependabot[bot]' &&
184
186
  github.event.pull_request.head.repo.full_name == github.repository
185
187
  runs-on: ubuntu-24.04
186
188
  steps:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/api",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/api-fastapi",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "clubedge-api"
3
- version = "0.24.0"
3
+ version = "0.24.1"
4
4
  description = "The project's API, implementing packages/contract/openapi.yaml."
5
5
  requires-python = ">=3.12"
6
6
  dependencies = [
@@ -103,11 +103,11 @@ wheels = [
103
103
 
104
104
  [[package]]
105
105
  name = "certifi"
106
- version = "2026.10.18"
106
+ version = "2026.10.19"
107
107
  source = { registry = "https://pypi.org/simple" }
108
- sdist = { url = "https://files.pythonhosted.org/packages/7e/eb/a2aa1ac3ea30dd3f30ca57f40232138b6b0040719316ecb85daf61167771/certifi-2026.10.18.tar.gz", hash = "sha256:b9995d97b64d0431a5af837d8ca8cd6238104d1f319f04bd93ea43124d6c861e", size = 135227, upload-time = "2026-10-18T16:21:07.655Z" }
108
+ sdist = { url = "https://files.pythonhosted.org/packages/a6/bd/1436c50cc46699de0230fbaacc1d1de7bfec413176099949e9d5112e88f2/certifi-2026.10.19.tar.gz", hash = "sha256:035c1e85572b141bf1c3a3eff0e33a8eb74917522f2559075ff8d2fea780a1ae", size = 137598, upload-time = "2026-10-20T02:24:16.604Z" }
109
109
  wheels = [
110
- { url = "https://files.pythonhosted.org/packages/08/ba/95dd616042484f7c83a06974388b37b837732740ee70bc5dc715b5fcd55a/certifi-2026.10.18-py3-none-any.whl", hash = "sha256:73191c47aaa79da394e8fee2dbc2ec827432cab56311122c9e47abf79e390f62", size = 134093, upload-time = "2026-10-18T16:21:06.276Z" },
110
+ { url = "https://files.pythonhosted.org/packages/c4/51/29046e48f693c54e5b7412216d447a1d8362c9653148d98c02cdf65fa733/certifi-2026.10.19-py3-none-any.whl", hash = "sha256:42d35340cc5b9ba78e818ddbff0c5b1c2b779de448a340fd1b989f5fa8670e1b", size = 136464, upload-time = "2026-10-20T02:24:15.072Z" },
111
111
  ]
112
112
 
113
113
  [[package]]
@@ -121,7 +121,7 @@ wheels = [
121
121
 
122
122
  [[package]]
123
123
  name = "clubedge-api"
124
- version = "0.24.0"
124
+ version = "0.24.1"
125
125
  source = { editable = "." }
126
126
  dependencies = [
127
127
  { name = "fastapi" },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/start",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/vite",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/web",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "scripts": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clubedge-starter-v1",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "packageManager": "pnpm@10.9.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/auth",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/auth-appwrite",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Appwrite provider for @clubedge/auth, run from the server with an API key and session cookies.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/auth-better-auth",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Better Auth adapter for @clubedge/auth, storing users and sessions in your own PostgreSQL.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/auth-firebase",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Firebase Authentication provider for @clubedge/auth, run from the server with session cookies.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/auth-supabase",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Supabase Auth adapter for @clubedge/auth.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/cache",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/cache-redis",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Redis rate limiter and cache for @clubedge/cache.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/contract",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/core",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/db",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/email",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Email interface, console and in-memory providers, and message templates.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/email-resend",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Resend provider for @clubedge/email, through Resend's HTTP API.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/email-smtp",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "SMTP provider for @clubedge/email, for any SMTP server.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/jobs",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Background jobs interface: job definitions, a queue contract, and an in-memory queue.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/jobs-bullmq",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "BullMQ provider for @clubedge/jobs: a job queue stored in Redis.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/jobs-inngest",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Inngest provider for @clubedge/jobs: jobs run by Inngest, which calls the app for each one.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/jobs-pg-boss",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "pg-boss provider for @clubedge/jobs: a job queue stored in the project's PostgreSQL.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/local-db",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "PostgreSQL for development without Docker: PGlite served over the PostgreSQL protocol.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/observability",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Observability interface: error reports and spans for @clubedge/core's telemetry hooks, and an in-memory provider for tests.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/observability-otel",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "OpenTelemetry provider for @clubedge/observability: traces and error logs exported over OTLP to any collector.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/observability-sentry",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Sentry provider for @clubedge/observability: server and browser errors, traces, and source map uploads.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/payments",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Provider-neutral payments: the PaymentProvider interface, billing logic, and subscription tables.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/payments-stripe",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Stripe provider for @clubedge/payments: Checkout, the customer portal, and verified webhooks.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/storage",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/storage-s3",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "S3-compatible adapter for @clubedge/storage.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/storage-supabase",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Supabase Storage adapter for @clubedge/storage.",
5
5
  "private": true,
6
6
  "license": "Apache-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clubedge/ui",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "private": true,
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "repository": "Clubedge/clubedge-starter",
3
- "ref": "v0.24.0",
4
- "commit": "3aaca476bf5ff1db9b5fc4080f7a8a8006436998",
3
+ "ref": "v0.24.1",
4
+ "commit": "3e8b5ba8910767f27336cf253fbfe92a9bb42875",
5
5
  "files": [
6
6
  ".dockerignore",
7
7
  ".env.example",