@donotdev/cli 0.0.18 → 0.0.20
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/dependencies-matrix.json +42 -55
- package/dist/bin/commands/bump.js +5 -2
- package/dist/bin/commands/coach.js +8177 -0
- package/dist/bin/commands/create-app.js +6 -6
- package/dist/bin/commands/create-project.js +23 -9
- package/dist/bin/commands/deploy.js +99 -59
- package/dist/bin/commands/doctor.js +243 -698
- package/dist/bin/commands/emu.js +2 -2
- package/dist/bin/commands/format.js +4 -1
- package/dist/bin/commands/get-demo.js +8351 -0
- package/dist/bin/commands/make-admin.js +773 -152
- package/dist/bin/commands/setup.js +524 -1713
- package/dist/bin/commands/staging.js +17870 -0
- package/dist/bin/commands/sync-secrets.js +2 -11
- package/dist/bin/commands/type-check.js +7738 -1712
- package/dist/bin/dndev.js +868 -199
- package/dist/bin/donotdev.js +868 -199
- package/dist/index.js +127 -67
- package/package.json +1 -1
- package/templates/app-demo/index.html.example +147 -10
- package/templates/app-demo/public/apple-touch-icon.png.example +0 -0
- package/templates/app-demo/public/favicon.svg.example +1 -0
- package/templates/app-demo/public/icon-192x192.png.example +0 -0
- package/templates/app-demo/public/icon-512x512.png.example +0 -0
- package/templates/app-demo/src/App.tsx.example +7 -11
- package/templates/app-demo/src/config/app.ts.example +13 -48
- package/templates/app-demo/src/entities/booking.ts.example +75 -0
- package/templates/app-demo/src/entities/onboarding.ts.example +160 -0
- package/templates/app-demo/src/entities/product.ts.example +50 -0
- package/templates/app-demo/src/entities/quote.ts.example +70 -0
- package/templates/app-demo/src/globals.css.example +5 -1
- package/templates/app-demo/src/main.tsx.example +13 -7
- package/templates/app-demo/src/pages/ChangelogPage.tsx.example +41 -0
- package/templates/app-demo/src/pages/ConditionalFormPage.tsx.example +88 -0
- package/templates/app-demo/src/pages/DashboardPage.tsx.example +17 -0
- package/templates/app-demo/src/pages/HomePage.tsx.example +339 -60
- package/templates/app-demo/src/pages/OnboardingPage.tsx.example +47 -0
- package/templates/app-demo/src/pages/PricingPage.tsx.example +41 -0
- package/templates/app-demo/src/pages/ProductsPage.tsx.example +19 -0
- package/templates/app-demo/src/pages/ProfilePage.tsx.example +18 -0
- package/templates/app-demo/src/pages/SettingsPage.tsx.example +17 -0
- package/templates/app-demo/src/pages/ShowcaseDetailPage.tsx.example +118 -0
- package/templates/app-demo/src/pages/ShowcasePage.tsx.example +93 -0
- package/templates/app-demo/src/pages/components/ComponentRenderer.tsx.example +147 -51
- package/templates/app-demo/src/pages/components/ComponentsData.tsx.example +103 -21
- package/templates/app-demo/src/pages/components/componentConfig.ts.example +139 -59
- package/templates/app-demo/src/pages/legal/LegalPage.tsx.example +25 -0
- package/templates/app-demo/src/pages/legal/PrivacyPage.tsx.example +23 -0
- package/templates/app-demo/src/pages/legal/TermsPage.tsx.example +23 -0
- package/templates/app-demo/src/themes.css.example +289 -77
- package/templates/app-demo/stats.html.example +4949 -0
- package/templates/app-demo/tsconfig.json.example +1 -1
- package/templates/app-demo/vite.config.ts.example +23 -48
- package/templates/app-expo/README.md.example +1 -1
- package/templates/app-expo/app/index.tsx.example +1 -1
- package/templates/app-next/src/locales/home_en.json.example +6 -6
- package/templates/app-vite/src/locales/home_en.json.example +6 -6
- package/templates/app-vite/src/pages/HomePage.tsx.example +8 -10
- package/templates/overlay-firebase/env.fragment.example +1 -1
- package/templates/overlay-firebase/env.fragment.expo.example +1 -1
- package/templates/overlay-firebase/env.fragment.nextjs.example +1 -1
- package/templates/overlay-supabase/env.fragment.example +1 -1
- package/templates/overlay-supabase/env.fragment.expo.example +1 -1
- package/templates/overlay-supabase/env.fragment.nextjs.example +1 -1
- package/templates/overlay-vercel/env.fragment.example +1 -1
- package/templates/overlay-vercel/env.fragment.nextjs.example +1 -1
- package/templates/root-consumer/AI.md.example +4 -3
- package/templates/root-consumer/guides/dndev/AGENT_START_HERE.md.example +21 -6
- package/templates/root-consumer/guides/dndev/COMPONENTS_ADV.md.example +16 -179
- package/templates/root-consumer/guides/dndev/ENV_SETUP.md.example +19 -21
- package/templates/root-consumer/guides/dndev/GOTCHAS.md.example +14 -3
- package/templates/root-consumer/guides/dndev/INDEX.md.example +2 -2
- package/templates/root-consumer/guides/dndev/SETUP_APP_CONFIG.md.example +3 -3
- package/templates/root-consumer/guides/dndev/SETUP_BLOG.md.example +19 -2
- package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +35 -1
- package/templates/root-consumer/guides/dndev/SETUP_FIREBASE.md.example +17 -12
- package/templates/root-consumer/guides/dndev/SETUP_LAYOUTS.md.example +32 -0
- package/templates/root-consumer/guides/dndev/SETUP_OAUTH_PROVIDERS.md.example +1 -1
- package/templates/root-consumer/guides/dndev/SETUP_PAGES.md.example +19 -15
- package/templates/root-consumer/guides/dndev/SETUP_STRIPE.md.example +2 -2
- package/templates/root-consumer/guides/dndev/SETUP_SUPABASE.md.example +17 -12
- package/templates/root-consumer/guides/dndev/SETUP_VERCEL.md.example +37 -16
- package/templates/root-consumer/guides/dndev/USE_ROUTING.md.example +18 -18
- package/templates/root-consumer/guides/dndev/advanced/COOKIE_REFERENCE.md.example +252 -252
- package/templates/root-consumer/guides/dndev/advanced/VERSION_CONTROL.md.example +174 -174
- package/templates/root-consumer/guides/dndev/essences_reference.css.example +119 -2
- package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +14 -0
- package/templates/root-consumer/guides/wai-way/blueprints/2_entities.md.example +6 -0
- package/templates/root-consumer/guides/wai-way/blueprints/3_compose.md.example +14 -0
- package/templates/root-consumer/guides/wai-way/entity_patterns.md.example +4 -5
- package/templates/root-consumer/guides/wai-way/page_patterns.md.example +2 -2
- package/dist/bin/commands/agent-setup.d.ts +0 -6
- package/dist/bin/commands/agent-setup.d.ts.map +0 -1
- package/dist/bin/commands/agent-setup.js.map +0 -1
- package/dist/bin/commands/build.d.ts +0 -11
- package/dist/bin/commands/build.d.ts.map +0 -1
- package/dist/bin/commands/build.js.map +0 -1
- package/dist/bin/commands/bump.d.ts +0 -11
- package/dist/bin/commands/bump.d.ts.map +0 -1
- package/dist/bin/commands/bump.js.map +0 -1
- package/dist/bin/commands/cacheout.d.ts +0 -11
- package/dist/bin/commands/cacheout.d.ts.map +0 -1
- package/dist/bin/commands/cacheout.js.map +0 -1
- package/dist/bin/commands/create-app.d.ts +0 -11
- package/dist/bin/commands/create-app.d.ts.map +0 -1
- package/dist/bin/commands/create-app.js.map +0 -1
- package/dist/bin/commands/create-project.d.ts +0 -11
- package/dist/bin/commands/create-project.d.ts.map +0 -1
- package/dist/bin/commands/create-project.js.map +0 -1
- package/dist/bin/commands/deploy.d.ts +0 -11
- package/dist/bin/commands/deploy.d.ts.map +0 -1
- package/dist/bin/commands/deploy.js.map +0 -1
- package/dist/bin/commands/dev.d.ts +0 -11
- package/dist/bin/commands/dev.d.ts.map +0 -1
- package/dist/bin/commands/dev.js.map +0 -1
- package/dist/bin/commands/doctor.d.ts +0 -6
- package/dist/bin/commands/doctor.d.ts.map +0 -1
- package/dist/bin/commands/doctor.js.map +0 -1
- package/dist/bin/commands/emu.d.ts +0 -11
- package/dist/bin/commands/emu.d.ts.map +0 -1
- package/dist/bin/commands/emu.js.map +0 -1
- package/dist/bin/commands/format.d.ts +0 -11
- package/dist/bin/commands/format.d.ts.map +0 -1
- package/dist/bin/commands/format.js.map +0 -1
- package/dist/bin/commands/make-admin.d.ts +0 -11
- package/dist/bin/commands/make-admin.d.ts.map +0 -1
- package/dist/bin/commands/make-admin.js.map +0 -1
- package/dist/bin/commands/preview.d.ts +0 -11
- package/dist/bin/commands/preview.d.ts.map +0 -1
- package/dist/bin/commands/preview.js.map +0 -1
- package/dist/bin/commands/setup.d.ts +0 -6
- package/dist/bin/commands/setup.d.ts.map +0 -1
- package/dist/bin/commands/setup.js.map +0 -1
- package/dist/bin/commands/sync-secrets.d.ts +0 -11
- package/dist/bin/commands/sync-secrets.d.ts.map +0 -1
- package/dist/bin/commands/sync-secrets.js.map +0 -1
- package/dist/bin/commands/type-check.d.ts +0 -14
- package/dist/bin/commands/type-check.d.ts.map +0 -1
- package/dist/bin/commands/type-check.js.map +0 -1
- package/dist/bin/commands/wai.d.ts +0 -11
- package/dist/bin/commands/wai.d.ts.map +0 -1
- package/dist/bin/commands/wai.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/templates/app-demo/src/components/ThemeToggle.tsx.example +0 -48
- package/templates/app-demo/src/pages/DetailPage.tsx.example +0 -103
- package/templates/app-demo/src/pages/FullPage.tsx.example +0 -142
- package/templates/app-demo/src/pages/components/DemoLayout.tsx.example +0 -266
- package/templates/app-demo/src/pages/components/LayoutRoute.tsx.example +0 -20
|
@@ -1,174 +1,174 @@
|
|
|
1
|
-
# Version Control Guide
|
|
2
|
-
|
|
3
|
-
**How to upgrade DoNotDev framework packages in your project**
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Quick Start
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
# Check for available updates
|
|
11
|
-
dndev bump --check
|
|
12
|
-
|
|
13
|
-
# Apply safe updates (minor/patch versions)
|
|
14
|
-
dndev bump
|
|
15
|
-
|
|
16
|
-
# Preview changes without applying
|
|
17
|
-
dndev bump --dry-run
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## How It Works
|
|
23
|
-
|
|
24
|
-
### Automatic Updates
|
|
25
|
-
|
|
26
|
-
**Patch versions (0.0.x):**
|
|
27
|
-
- Handled automatically by `bun install`
|
|
28
|
-
- No action needed - `^` ranges allow automatic patch updates
|
|
29
|
-
- Example: `^0.0.2` → `0.0.3`, `0.0.4`, etc.
|
|
30
|
-
|
|
31
|
-
**Minor versions (0.x.y):**
|
|
32
|
-
- Handled automatically by `dndev bump`
|
|
33
|
-
- **RISK FREE:** All changes are backward compatible via deprecation
|
|
34
|
-
- No breaking changes in 0.x.y range
|
|
35
|
-
- Example: `^0.0.2` → `^0.1.0` (auto-updated, safe)
|
|
36
|
-
|
|
37
|
-
### Manual Validation Required
|
|
38
|
-
|
|
39
|
-
**Major versions (0.*.* → 1.x.y):**
|
|
40
|
-
- `dndev bump` detects major version changes
|
|
41
|
-
- Shows migration guide with breaking changes
|
|
42
|
-
- **You must validate manually** before updating
|
|
43
|
-
- **Only place where breaking changes occur**
|
|
44
|
-
- Example: `^0.1.0` → `^1.0.0` (requires validation)
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Upgrade Process
|
|
49
|
-
|
|
50
|
-
### Step 1: Check for Updates
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
dndev bump --check
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
This shows:
|
|
57
|
-
- Available updates for `@donotdev/*` packages (from npm)
|
|
58
|
-
- Available updates for external peer dependencies (from matrix)
|
|
59
|
-
- Major version changes (with migration guides)
|
|
60
|
-
|
|
61
|
-
### Step 2: Review Migration Guides
|
|
62
|
-
|
|
63
|
-
If major version changes are detected:
|
|
64
|
-
- Read the migration guide shown in the output
|
|
65
|
-
- Check for breaking changes that affect your code
|
|
66
|
-
- Review the migration guide file (path shown in output)
|
|
67
|
-
|
|
68
|
-
### Step 3: Apply Updates
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
# Safe updates (minor/patch) - auto-applied
|
|
72
|
-
dndev bump
|
|
73
|
-
|
|
74
|
-
# Or preview first
|
|
75
|
-
dndev bump --dry-run
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
**What gets updated:**
|
|
79
|
-
- `@donotdev/*` packages: Updated to latest compatible version
|
|
80
|
-
- External peer dependencies: Updated to matrix versions
|
|
81
|
-
- All `package.json` files in your project
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## Understanding Version Ranges
|
|
86
|
-
|
|
87
|
-
### `^` Range (Caret)
|
|
88
|
-
|
|
89
|
-
**What it means:**
|
|
90
|
-
- Allows updates to latest minor/patch version
|
|
91
|
-
- Same major version required
|
|
92
|
-
- Example: `^0.0.2` allows `0.0.2` through `0.0.9`, but not `0.1.0`
|
|
93
|
-
|
|
94
|
-
**Why we use it:**
|
|
95
|
-
- Automatic patch updates via `bun install`
|
|
96
|
-
- Safe minor updates via `dndev bump`
|
|
97
|
-
- Prevents accidental major version updates
|
|
98
|
-
|
|
99
|
-
### Version Format
|
|
100
|
-
|
|
101
|
-
```json
|
|
102
|
-
{
|
|
103
|
-
"dependencies": {
|
|
104
|
-
"@donotdev/core": "^0.0.2",
|
|
105
|
-
"react": "^19.2.3"
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
- `^0.0.2` = allows `0.0.2` to `0.0.x` (patch updates)
|
|
111
|
-
- `^0.1.0` = allows `0.1.0` to `0.x.x` (minor updates)
|
|
112
|
-
- `^1.0.0` = allows `1.0.0` to `1.x.x` (minor updates, not `2.0.0`)
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## Migration Guides
|
|
117
|
-
|
|
118
|
-
When upgrading major versions, migration guides are provided:
|
|
119
|
-
|
|
120
|
-
**Location:** Shown in `dndev bump` output
|
|
121
|
-
|
|
122
|
-
**Contains:**
|
|
123
|
-
- List of breaking changes
|
|
124
|
-
- Step-by-step migration instructions
|
|
125
|
-
- Code examples for updated APIs
|
|
126
|
-
|
|
127
|
-
**Example:**
|
|
128
|
-
```
|
|
129
|
-
⚠️ Major version update detected: @donotdev/core 0.1.0 → 1.0.0
|
|
130
|
-
|
|
131
|
-
Migration guide: docs/migration/v0.1-to-v1.0.md
|
|
132
|
-
|
|
133
|
-
Breaking changes:
|
|
134
|
-
- Removed useAuth() - use useAuthentication() instead
|
|
135
|
-
- Theme API changed - see migration guide
|
|
136
|
-
|
|
137
|
-
Review the migration guide before updating.
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Troubleshooting
|
|
143
|
-
|
|
144
|
-
### "No updates available"
|
|
145
|
-
|
|
146
|
-
- All packages are up to date
|
|
147
|
-
- Or you're already on latest version
|
|
148
|
-
|
|
149
|
-
### "Major version change detected"
|
|
150
|
-
|
|
151
|
-
- Review migration guide
|
|
152
|
-
- Check breaking changes
|
|
153
|
-
- Update code if needed
|
|
154
|
-
- Run `dndev bump` again to apply
|
|
155
|
-
|
|
156
|
-
### "Package not found on npm"
|
|
157
|
-
|
|
158
|
-
- Package may not be published yet
|
|
159
|
-
- Check package name spelling
|
|
160
|
-
- Verify you're using correct registry
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
## Best Practices
|
|
165
|
-
|
|
166
|
-
1. **Regular updates:** Run `dndev bump --check` monthly
|
|
167
|
-
2. **Test after updates:** Run your test suite after applying updates
|
|
168
|
-
3. **Review major changes:** Always read migration guides for major versions
|
|
169
|
-
4. **Use `--dry-run`:** Preview changes before applying
|
|
170
|
-
5. **Commit changes:** Commit updated `package.json` files after successful updates
|
|
171
|
-
|
|
172
|
-
---
|
|
173
|
-
|
|
174
|
-
**Keep your dependencies up to date. Stay secure. Stay compatible.**
|
|
1
|
+
# Version Control Guide
|
|
2
|
+
|
|
3
|
+
**How to upgrade DoNotDev framework packages in your project**
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Check for available updates
|
|
11
|
+
dndev bump --check
|
|
12
|
+
|
|
13
|
+
# Apply safe updates (minor/patch versions)
|
|
14
|
+
dndev bump
|
|
15
|
+
|
|
16
|
+
# Preview changes without applying
|
|
17
|
+
dndev bump --dry-run
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## How It Works
|
|
23
|
+
|
|
24
|
+
### Automatic Updates
|
|
25
|
+
|
|
26
|
+
**Patch versions (0.0.x):**
|
|
27
|
+
- Handled automatically by `bun install`
|
|
28
|
+
- No action needed - `^` ranges allow automatic patch updates
|
|
29
|
+
- Example: `^0.0.2` → `0.0.3`, `0.0.4`, etc.
|
|
30
|
+
|
|
31
|
+
**Minor versions (0.x.y):**
|
|
32
|
+
- Handled automatically by `dndev bump`
|
|
33
|
+
- **RISK FREE:** All changes are backward compatible via deprecation
|
|
34
|
+
- No breaking changes in 0.x.y range
|
|
35
|
+
- Example: `^0.0.2` → `^0.1.0` (auto-updated, safe)
|
|
36
|
+
|
|
37
|
+
### Manual Validation Required
|
|
38
|
+
|
|
39
|
+
**Major versions (0.*.* → 1.x.y):**
|
|
40
|
+
- `dndev bump` detects major version changes
|
|
41
|
+
- Shows migration guide with breaking changes
|
|
42
|
+
- **You must validate manually** before updating
|
|
43
|
+
- **Only place where breaking changes occur**
|
|
44
|
+
- Example: `^0.1.0` → `^1.0.0` (requires validation)
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Upgrade Process
|
|
49
|
+
|
|
50
|
+
### Step 1: Check for Updates
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
dndev bump --check
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
This shows:
|
|
57
|
+
- Available updates for `@donotdev/*` packages (from npm)
|
|
58
|
+
- Available updates for external peer dependencies (from matrix)
|
|
59
|
+
- Major version changes (with migration guides)
|
|
60
|
+
|
|
61
|
+
### Step 2: Review Migration Guides
|
|
62
|
+
|
|
63
|
+
If major version changes are detected:
|
|
64
|
+
- Read the migration guide shown in the output
|
|
65
|
+
- Check for breaking changes that affect your code
|
|
66
|
+
- Review the migration guide file (path shown in output)
|
|
67
|
+
|
|
68
|
+
### Step 3: Apply Updates
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Safe updates (minor/patch) - auto-applied
|
|
72
|
+
dndev bump
|
|
73
|
+
|
|
74
|
+
# Or preview first
|
|
75
|
+
dndev bump --dry-run
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**What gets updated:**
|
|
79
|
+
- `@donotdev/*` packages: Updated to latest compatible version
|
|
80
|
+
- External peer dependencies: Updated to matrix versions
|
|
81
|
+
- All `package.json` files in your project
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Understanding Version Ranges
|
|
86
|
+
|
|
87
|
+
### `^` Range (Caret)
|
|
88
|
+
|
|
89
|
+
**What it means:**
|
|
90
|
+
- Allows updates to latest minor/patch version
|
|
91
|
+
- Same major version required
|
|
92
|
+
- Example: `^0.0.2` allows `0.0.2` through `0.0.9`, but not `0.1.0`
|
|
93
|
+
|
|
94
|
+
**Why we use it:**
|
|
95
|
+
- Automatic patch updates via `bun install`
|
|
96
|
+
- Safe minor updates via `dndev bump`
|
|
97
|
+
- Prevents accidental major version updates
|
|
98
|
+
|
|
99
|
+
### Version Format
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"dependencies": {
|
|
104
|
+
"@donotdev/core": "^0.0.2",
|
|
105
|
+
"react": "^19.2.3"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
- `^0.0.2` = allows `0.0.2` to `0.0.x` (patch updates)
|
|
111
|
+
- `^0.1.0` = allows `0.1.0` to `0.x.x` (minor updates)
|
|
112
|
+
- `^1.0.0` = allows `1.0.0` to `1.x.x` (minor updates, not `2.0.0`)
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Migration Guides
|
|
117
|
+
|
|
118
|
+
When upgrading major versions, migration guides are provided:
|
|
119
|
+
|
|
120
|
+
**Location:** Shown in `dndev bump` output
|
|
121
|
+
|
|
122
|
+
**Contains:**
|
|
123
|
+
- List of breaking changes
|
|
124
|
+
- Step-by-step migration instructions
|
|
125
|
+
- Code examples for updated APIs
|
|
126
|
+
|
|
127
|
+
**Example:**
|
|
128
|
+
```
|
|
129
|
+
⚠️ Major version update detected: @donotdev/core 0.1.0 → 1.0.0
|
|
130
|
+
|
|
131
|
+
Migration guide: docs/migration/v0.1-to-v1.0.md
|
|
132
|
+
|
|
133
|
+
Breaking changes:
|
|
134
|
+
- Removed useAuth() - use useAuthentication() instead
|
|
135
|
+
- Theme API changed - see migration guide
|
|
136
|
+
|
|
137
|
+
Review the migration guide before updating.
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Troubleshooting
|
|
143
|
+
|
|
144
|
+
### "No updates available"
|
|
145
|
+
|
|
146
|
+
- All packages are up to date
|
|
147
|
+
- Or you're already on latest version
|
|
148
|
+
|
|
149
|
+
### "Major version change detected"
|
|
150
|
+
|
|
151
|
+
- Review migration guide
|
|
152
|
+
- Check breaking changes
|
|
153
|
+
- Update code if needed
|
|
154
|
+
- Run `dndev bump` again to apply
|
|
155
|
+
|
|
156
|
+
### "Package not found on npm"
|
|
157
|
+
|
|
158
|
+
- Package may not be published yet
|
|
159
|
+
- Check package name spelling
|
|
160
|
+
- Verify you're using correct registry
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Best Practices
|
|
165
|
+
|
|
166
|
+
1. **Regular updates:** Run `dndev bump --check` monthly
|
|
167
|
+
2. **Test after updates:** Run your test suite after applying updates
|
|
168
|
+
3. **Review major changes:** Always read migration guides for major versions
|
|
169
|
+
4. **Use `--dry-run`:** Preview changes before applying
|
|
170
|
+
5. **Commit changes:** Commit updated `package.json` files after successful updates
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
**Keep your dependencies up to date. Stay secure. Stay compatible.**
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Reference: Framework essences (Brutalist, Luxury).
|
|
2
|
+
* Reference: Framework essences (Brutalist, Luxury, Retro).
|
|
3
3
|
* Copy the blocks you need into your app's src/themes.css.
|
|
4
4
|
* Default essence = SaaS (Inter); these do not apply until you set the class on <html>.
|
|
5
5
|
*
|
|
6
|
-
* Fonts: Space Grotesk (Brutalist), Playfair Display (Luxury),
|
|
6
|
+
* Fonts: Space Grotesk (Brutalist), Playfair Display (Luxury), Press Start 2P (Retro),
|
|
7
|
+
* Inter, Roboto are bundled in @donotdev/ui (no external requests).
|
|
7
8
|
*/
|
|
8
9
|
|
|
9
10
|
/** =========================================================================
|
|
@@ -172,3 +173,119 @@
|
|
|
172
173
|
--shadow-md: 0 4px 12px var(--shadow-color);
|
|
173
174
|
--shadow-xl: 0 8px 24px var(--shadow-color);
|
|
174
175
|
}
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
/** =========================================================================
|
|
179
|
+
* Retro — 8-bit pixel aesthetic, Press Start 2P, neon on dark, CRT vibes.
|
|
180
|
+
* Set <html class="retro"> to apply.
|
|
181
|
+
* ========================================================================= */
|
|
182
|
+
.retro {
|
|
183
|
+
--theme-icon: 'Gamepad2';
|
|
184
|
+
--theme-label: 'Retro';
|
|
185
|
+
--theme-is-dark: 1;
|
|
186
|
+
|
|
187
|
+
/* 1. Core Colors - Muted neon on zinc */
|
|
188
|
+
--background: #1c1c22;
|
|
189
|
+
--foreground: #c8e6c9;
|
|
190
|
+
--primary: #5eead4;
|
|
191
|
+
--secondary: #c084fc;
|
|
192
|
+
--accent: #fbbf24;
|
|
193
|
+
|
|
194
|
+
/* 2. Semantic */
|
|
195
|
+
--success: #6ee7b7;
|
|
196
|
+
--warning: #fbbf24;
|
|
197
|
+
--destructive: #f87171;
|
|
198
|
+
|
|
199
|
+
/* 3. Surfaces - Zinc CRT glass */
|
|
200
|
+
--muted: #27272f;
|
|
201
|
+
--muted-foreground: #8bae8b;
|
|
202
|
+
--border: #4a6a4a;
|
|
203
|
+
--input: #1c1c22;
|
|
204
|
+
--ring: #5eead4;
|
|
205
|
+
--card: #222228;
|
|
206
|
+
--card-foreground: #c8e6c9;
|
|
207
|
+
--popover: #222228;
|
|
208
|
+
--popover-foreground: #c8e6c9;
|
|
209
|
+
--surface-1: #1e1e24;
|
|
210
|
+
|
|
211
|
+
/* 4. Text on Colors */
|
|
212
|
+
--primary-foreground: #0f172a;
|
|
213
|
+
--secondary-foreground: #0f172a;
|
|
214
|
+
--accent-foreground: #0f172a;
|
|
215
|
+
--success-foreground: #0f172a;
|
|
216
|
+
--warning-foreground: #0f172a;
|
|
217
|
+
--destructive-foreground: #ffffff;
|
|
218
|
+
|
|
219
|
+
/* 5. Radius - Hard pixel corners */
|
|
220
|
+
--radius-interactive: 0;
|
|
221
|
+
--radius-surface: 0;
|
|
222
|
+
--radius-floating: 0;
|
|
223
|
+
|
|
224
|
+
/* 6. Typography - Press Start 2P (pixel font, 400 only) */
|
|
225
|
+
--font-family: 'Press Start 2P', var(--font-mono);
|
|
226
|
+
--font-headline: 'Press Start 2P', var(--font-mono);
|
|
227
|
+
--font-weight-normal: 400;
|
|
228
|
+
--font-weight-medium: 400;
|
|
229
|
+
--font-weight-semibold: 400;
|
|
230
|
+
--font-weight-bold: 400;
|
|
231
|
+
|
|
232
|
+
/* 7. Font scale - smaller base (pixel font reads large) */
|
|
233
|
+
--font-size-xs: 0.5rem;
|
|
234
|
+
--font-size-sm: 0.625rem;
|
|
235
|
+
--font-size-base: 0.75rem;
|
|
236
|
+
--font-size-lg: 0.875rem;
|
|
237
|
+
--font-size-xl: 1rem;
|
|
238
|
+
--font-size-2xl: 1.25rem;
|
|
239
|
+
--font-size-3xl: 1.5rem;
|
|
240
|
+
--line-height: 1.6;
|
|
241
|
+
|
|
242
|
+
/* 8. Borders - Chunky pixel borders */
|
|
243
|
+
--border-width: 3px;
|
|
244
|
+
--border-huge: 4px;
|
|
245
|
+
|
|
246
|
+
/* 9. Shadows — soft neon glow */
|
|
247
|
+
--shadow-color: #5eead433;
|
|
248
|
+
--shadow-sm: 0 0 4px #5eead422;
|
|
249
|
+
--shadow-md: 0 0 8px #5eead433, 0 0 16px #5eead41a;
|
|
250
|
+
--shadow-xl: 0 0 12px #5eead444, 0 0 24px #5eead42a, 0 0 48px #c084fc1a;
|
|
251
|
+
--shadow-cta: 0 0 16px #5eead444, 0 0 32px #5eead422;
|
|
252
|
+
|
|
253
|
+
/* 10. Per-variant shadows — soft neon matching */
|
|
254
|
+
--shadow-primary: 0 0 8px #5eead42a;
|
|
255
|
+
--shadow-primary-xl: 0 0 16px #5eead444, 0 0 32px #5eead422;
|
|
256
|
+
--shadow-secondary: 0 0 8px #c084fc2a;
|
|
257
|
+
--shadow-secondary-xl: 0 0 16px #c084fc44, 0 0 32px #c084fc22;
|
|
258
|
+
|
|
259
|
+
/* 11. Header padding */
|
|
260
|
+
--header-shadow-padding: 0;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/* Body - subtle CRT scanlines */
|
|
264
|
+
.retro body {
|
|
265
|
+
background-color: var(--background);
|
|
266
|
+
background-image:
|
|
267
|
+
repeating-linear-gradient(
|
|
268
|
+
0deg,
|
|
269
|
+
transparent,
|
|
270
|
+
transparent 2px,
|
|
271
|
+
rgba(0, 0, 0, 0.08) 2px,
|
|
272
|
+
rgba(0, 0, 0, 0.08) 4px
|
|
273
|
+
);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/* Uppercase headings (pixel fonts look best in caps) */
|
|
277
|
+
.retro {
|
|
278
|
+
:is(h1, h2, h3, h4, h5, h6),
|
|
279
|
+
[data-level^='h'] {
|
|
280
|
+
text-transform: uppercase;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/* Flat surfaces - no gradient, pixel-sharp */
|
|
285
|
+
.retro .dndev-surface { background: var(--card); }
|
|
286
|
+
.retro .dndev-surface[data-variant='outline'] { border: var(--border-width) solid var(--border); }
|
|
287
|
+
|
|
288
|
+
.retro .dndev-card[data-variant='outline'] {
|
|
289
|
+
background: transparent;
|
|
290
|
+
box-shadow: none;
|
|
291
|
+
}
|
|
@@ -37,6 +37,20 @@ Apply the chosen essence (SaaS, Luxury, Brutalist) to your `src/themes.css`.
|
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
40
|
+
## Reference: Demo App
|
|
41
|
+
|
|
42
|
+
**Before creating pages, study the demo app:** `packages/cli/templates/app-demo/src/pages/`
|
|
43
|
+
|
|
44
|
+
It shows the canonical pattern:
|
|
45
|
+
- Thin page wrappers (~5 lines) that import templates
|
|
46
|
+
- `PageMeta.preset` for per-route layout switching (landing → admin → docs)
|
|
47
|
+
- Component showcase with filterable grid
|
|
48
|
+
- Entity definition with `defineEntity()`
|
|
49
|
+
|
|
50
|
+
**Copy from the demo app, customize for your spec.**
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
40
54
|
## Step 3: Review Spec Pages
|
|
41
55
|
|
|
42
56
|
From your spec, you have a list of pages. Now create them.
|
|
@@ -46,6 +46,12 @@ export const productEntity = defineEntity({
|
|
|
46
46
|
});
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
+
> **Status field:** Auto-added with locked `type`, `visibility`, `editable`. Don't redefine those. To add custom options:
|
|
50
|
+
> ```typescript
|
|
51
|
+
> status: { validation: { options: [{ value: 'shipped', label: 'Shipped' }] } }
|
|
52
|
+
> // Merged result: [draft, available, deleted, shipped]
|
|
53
|
+
> ```
|
|
54
|
+
|
|
49
55
|
---
|
|
50
56
|
|
|
51
57
|
## Step 3: Export Entities
|
|
@@ -20,6 +20,20 @@
|
|
|
20
20
|
|
|
21
21
|
---
|
|
22
22
|
|
|
23
|
+
## Reference: Demo App
|
|
24
|
+
|
|
25
|
+
**Before composing pages, study the demo app:** `packages/cli/templates/app-demo/src/pages/`
|
|
26
|
+
|
|
27
|
+
It shows the canonical pattern:
|
|
28
|
+
- Thin page wrappers (~5 lines) that import templates
|
|
29
|
+
- `PageMeta.preset` for per-route layout switching (landing → admin → docs)
|
|
30
|
+
- CRUD with `ProductCardListTemplate` + `defineEntity()`
|
|
31
|
+
- Component showcase with filterable grid
|
|
32
|
+
|
|
33
|
+
**Copy from the demo app, customize for your spec.**
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
23
37
|
## Step 2: Read Page Patterns
|
|
24
38
|
|
|
25
39
|
**READ:** `guides/wai-way/page_patterns.md` for all patterns:
|
|
@@ -309,12 +309,9 @@ export const orderEntity = defineEntity({
|
|
|
309
309
|
visibility: 'owner',
|
|
310
310
|
editable: 'never',
|
|
311
311
|
},
|
|
312
|
+
// status is auto-added with type/visibility/editable locked.
|
|
313
|
+
// Only define validation.options — framework auto-adds [draft, available, deleted].
|
|
312
314
|
status: {
|
|
313
|
-
name: 'status',
|
|
314
|
-
label: 'status',
|
|
315
|
-
type: 'select',
|
|
316
|
-
visibility: 'owner',
|
|
317
|
-
editable: 'admin',
|
|
318
315
|
validation: {
|
|
319
316
|
options: [
|
|
320
317
|
{ value: 'pending', label: 'Pending' },
|
|
@@ -341,6 +338,8 @@ export const orderEntity = defineEntity({
|
|
|
341
338
|
});
|
|
342
339
|
```
|
|
343
340
|
|
|
341
|
+
> **Merged status options:** `[draft, available, deleted, pending, paid, shipped, delivered, cancelled]`. The three defaults are always first and cannot be removed.
|
|
342
|
+
|
|
344
343
|
---
|
|
345
344
|
|
|
346
345
|
## Review
|
|
@@ -152,7 +152,7 @@ import { EntityFormRenderer, useCrud } from '@donotdev/crud';
|
|
|
152
152
|
import { carEntity } from 'entities/car';
|
|
153
153
|
import { useTranslation } from '@donotdev/core';
|
|
154
154
|
import type { PageMeta } from '@donotdev/core';
|
|
155
|
-
import { useParams } from '@donotdev/ui
|
|
155
|
+
import { useParams } from '@donotdev/ui';
|
|
156
156
|
|
|
157
157
|
export const NAMESPACE = 'car';
|
|
158
158
|
|
|
@@ -523,7 +523,7 @@ import { Section, Card, Grid, Stack, Text, Button, Badge } from '@donotdev/compo
|
|
|
523
523
|
import { useCrud } from '@donotdev/crud';
|
|
524
524
|
import { productEntity } from 'entities/product';
|
|
525
525
|
import type { PageMeta } from '@donotdev/core';
|
|
526
|
-
import { useParams } from '@donotdev/ui
|
|
526
|
+
import { useParams } from '@donotdev/ui';
|
|
527
527
|
|
|
528
528
|
export const NAMESPACE = 'product-detail';
|
|
529
529
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-setup.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/agent-setup.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-setup.js","sourceRoot":"","sources":["../../../src/bin/commands/agent-setup.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C;;;GAGG;AAEH,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Build Command Wrapper
|
|
3
|
-
* @description Re-exports build from tooling for CLI bundling.
|
|
4
|
-
* Each command wrapper is bundled separately as a fully self-contained script.
|
|
5
|
-
*
|
|
6
|
-
* @version 0.0.1
|
|
7
|
-
* @since 0.0.1
|
|
8
|
-
* @author AMBROISE PARK Consulting
|
|
9
|
-
*/
|
|
10
|
-
export { build as main } from '@donotdev/tooling';
|
|
11
|
-
//# sourceMappingURL=build.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/bin/commands/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Bump Command Wrapper
|
|
3
|
-
* @description Re-exports bump from tooling for CLI bundling.
|
|
4
|
-
* Each command wrapper is bundled separately as a fully self-contained script.
|
|
5
|
-
*
|
|
6
|
-
* @version 0.0.4
|
|
7
|
-
* @since 0.0.2
|
|
8
|
-
* @author AMBROISE PARK Consulting
|
|
9
|
-
*/
|
|
10
|
-
export { bump as main } from '@donotdev/tooling';
|
|
11
|
-
//# sourceMappingURL=bump.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bump.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/bump.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bump.js","sourceRoot":"","sources":["../../../src/bin/commands/bump.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Cacheout Command Wrapper
|
|
3
|
-
* @description Re-exports cacheout from tooling for CLI bundling.
|
|
4
|
-
* Each command wrapper is bundled separately as a fully self-contained script.
|
|
5
|
-
*
|
|
6
|
-
* @version 0.0.1
|
|
7
|
-
* @since 0.0.1
|
|
8
|
-
* @author AMBROISE PARK Consulting
|
|
9
|
-
*/
|
|
10
|
-
export { cacheout as main } from '@donotdev/tooling';
|
|
11
|
-
//# sourceMappingURL=cacheout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cacheout.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/cacheout.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cacheout.js","sourceRoot":"","sources":["../../../src/bin/commands/cacheout.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Create App Command Wrapper
|
|
3
|
-
* @description Re-exports createApp from tooling for CLI bundling.
|
|
4
|
-
* Each command wrapper is bundled separately as a fully self-contained script.
|
|
5
|
-
*
|
|
6
|
-
* @version 0.0.1
|
|
7
|
-
* @since 0.0.1
|
|
8
|
-
* @author AMBROISE PARK Consulting
|
|
9
|
-
*/
|
|
10
|
-
export { createApp as main } from '@donotdev/tooling';
|
|
11
|
-
//# sourceMappingURL=create-app.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/create-app.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../../src/bin/commands/create-app.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|