create-nuxt-base 2.5.3 → 2.6.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [2.6.0](https://github.com/lenneTech/nuxt-base-starter/compare/v2.5.3...v2.6.0) (2026-04-17)
6
+
7
+
8
+ ### Features
9
+
10
+ * **template:** harden check script with server-start verification and document vendor-mode workflow ([6521650](https://github.com/lenneTech/nuxt-base-starter/commit/65216500261c846a87c66f0cb7a1170a3d0ed2b9))
11
+
5
12
  ### [2.5.3](https://github.com/lenneTech/nuxt-base-starter/compare/v2.5.2...v2.5.3) (2026-04-06)
6
13
 
7
14
  ### [2.5.2](https://github.com/lenneTech/nuxt-base-starter/compare/v2.5.1...v2.5.2) (2026-04-04)
@@ -58,9 +58,51 @@ pnpm run check # Full quality check (audit + format + lint + types + test
58
58
 
59
59
  ## Framework: @lenne.tech/nuxt-extensions
60
60
 
61
- This project depends on `@lenne.tech/nuxt-extensions`. The framework source is available in `node_modules/@lenne.tech/nuxt-extensions/` and **MUST** be read when using or debugging framework features.
62
-
63
- ### Key Source Files (in node_modules/@lenne.tech/nuxt-extensions/)
61
+ This project consumes the framework in one of two modes:
62
+
63
+ - **npm mode (default):** `@lenne.tech/nuxt-extensions` is installed as
64
+ an npm dependency; framework source lives in
65
+ `node_modules/@lenne.tech/nuxt-extensions/`. Registered in
66
+ `nuxt.config.ts` via the module string `'@lenne.tech/nuxt-extensions'`.
67
+ - **vendor mode:** framework source is copied directly into
68
+ `app/core/` as first-class project code. No
69
+ `@lenne.tech/nuxt-extensions` npm dependency. Baseline + patch log
70
+ live in `app/core/VENDOR.md`. Updated via
71
+ `/lt-dev:frontend:update-nuxt-extensions-core`. Detect via:
72
+ `test -f app/core/VENDOR.md`.
73
+
74
+ **ALWAYS read the actual framework source** before guessing behavior —
75
+ in npm mode from `node_modules/@lenne.tech/nuxt-extensions/`, in
76
+ vendor mode directly from `app/core/`.
77
+
78
+ ### Vendor Modification Policy
79
+
80
+ When this project is in vendor mode, the copy in `app/core/` exists
81
+ so Claude Code can read framework internals directly — it is a
82
+ **comprehension aid**, not a fork. Only edit `app/core/` when the
83
+ change is **generally useful to every nuxt-extensions consumer**:
84
+
85
+ - Bugfixes that apply to every consumer
86
+ - Broad framework enhancements (new composables, better defaults,
87
+ SSR fixes)
88
+ - Security vulnerability fixes
89
+ - Type/config compatibility fixes every consumer would hit
90
+
91
+ **Everything else stays out of `app/core/`.** Project-specific
92
+ business rules, customer branding, and proprietary integrations
93
+ belong in project code (`app/composables/`, `app/components/`,
94
+ `app/middleware/`, plugin overrides).
95
+
96
+ **Generally-useful changes MUST be submitted as an upstream PR** to
97
+ `github.com/lenneTech/nuxt-extensions`. Run
98
+ `/lt-dev:frontend:contribute-nuxt-extensions-core` to prepare the PR
99
+ — the agent filters cosmetic commits, categorizes each local change
100
+ as upstream-candidate vs. project-specific, and writes PR drafts for
101
+ human review. Letting useful fixes rot in a single project's vendor
102
+ tree is an anti-pattern: they belong upstream so every consumer
103
+ benefits and the local patch disappears on the next sync.
104
+
105
+ ### Key Source Files (in node_modules/@lenne.tech/nuxt-extensions/ — npm mode; replace prefix with app/core/ in vendor mode)
64
106
 
65
107
  | File | Purpose |
66
108
  | --------------------------- | ---------------------------------------------------------- |
@@ -75,11 +117,12 @@ This project depends on `@lenne.tech/nuxt-extensions`. The framework source is a
75
117
 
76
118
  ### Rules
77
119
 
78
- 1. **ALWAYS read actual source code** from `node_modules/@lenne.tech/nuxt-extensions/` before guessing framework behavior
120
+ 1. **ALWAYS read actual source code** before guessing framework behavior — from `node_modules/@lenne.tech/nuxt-extensions/` in npm mode, or from `app/core/` in vendor mode
79
121
  2. **NEVER re-implement** functionality that nuxt-extensions already provides — check composables first
80
122
  3. **Use `useBetterAuth()`** for authentication — never implement auth manually
81
123
  4. **When debugging auth issues**, read the auth proxy server route and middleware source
82
- 5. **Check `dist/runtime/composables/`** before creating new composables — may already exist
124
+ 5. **Check runtime composables** before creating new composables — may already exist
125
+ 6. **In vendor mode**, only edit `app/core/` for generally-useful changes and submit them upstream via `/lt-dev:frontend:contribute-nuxt-extensions-core`. Project-specific code belongs outside `app/core/`.
83
126
 
84
127
  ## Authentication
85
128
 
@@ -11,9 +11,9 @@
11
11
  },
12
12
  "scripts": {
13
13
  "c": "pnpm run check",
14
- "check": "pnpm audit && pnpm run format:check && pnpm run lint && pnpm test && pnpm run build && pnpm start",
15
- "check:fix": "pnpm install && pnpm audit --fix && pnpm run format && pnpm run lint:fix && pnpm test && pnpm run build && pnpm start",
16
- "check:naf": "pnpm install && pnpm run format && pnpm run lint:fix && pnpm test && pnpm run build && pnpm start",
14
+ "check": "pnpm audit && pnpm run format:check && pnpm run lint && pnpm test && pnpm run build && bash scripts/check-server-start.sh",
15
+ "check:fix": "pnpm install && pnpm audit --fix && pnpm run format && pnpm run lint:fix && pnpm test && pnpm run build && bash scripts/check-server-start.sh",
16
+ "check:naf": "pnpm install && pnpm run format && pnpm run lint:fix && pnpm test && pnpm run build && bash scripts/check-server-start.sh",
17
17
  "cf": "pnpm run check:fix",
18
18
  "cnaf": "pnpm run check:naf",
19
19
  "init": "pnpm install",
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ # Temp file for server output
5
+ LOG_FILE=$(mktemp)
6
+
7
+ # Start the built Nuxt server in background, redirect output to log file
8
+ # The build step already ran before this script is called
9
+ node .output/server/index.mjs > "$LOG_FILE" 2>&1 &
10
+ SERVER_PID=$!
11
+
12
+ # Show log output in real-time
13
+ tail -f "$LOG_FILE" &
14
+ TAIL_PID=$!
15
+
16
+ # Ensure cleanup on exit: kill server, tail, and remove temp file
17
+ trap 'kill $SERVER_PID $TAIL_PID 2>/dev/null; wait $SERVER_PID $TAIL_PID 2>/dev/null || true; rm -f "$LOG_FILE"' EXIT
18
+
19
+ # Wait for the Nitro server ready message (max 60 seconds)
20
+ for i in $(seq 1 60); do
21
+ if grep -q "Listening on\|Nitro ready\|Local:" "$LOG_FILE" 2>/dev/null; then
22
+ echo ""
23
+ echo "Server started successfully - check complete"
24
+ exit 0
25
+ fi
26
+ # Check if server process died unexpectedly
27
+ if ! kill -0 $SERVER_PID 2>/dev/null; then
28
+ echo ""
29
+ echo "Server process exited unexpectedly"
30
+ exit 1
31
+ fi
32
+ sleep 1
33
+ done
34
+
35
+ echo ""
36
+ echo "Server failed to start within 60 seconds"
37
+ exit 1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-nuxt-base",
3
- "version": "2.5.3",
3
+ "version": "2.6.0",
4
4
  "description": "Starter to generate a configured environment with VueJS, Nuxt, Tailwind, Linting, Unit Tests, Playwright etc.",
5
5
  "license": "MIT",
6
6
  "author": "lenne.Tech GmbH",