@donotdev/cli 0.0.14 → 0.0.16

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 (184) hide show
  1. package/dependencies-matrix.json +372 -88
  2. package/dist/bin/commands/agent-setup.js +7 -1
  3. package/dist/bin/commands/build.js +141 -44
  4. package/dist/bin/commands/bump.js +81 -41
  5. package/dist/bin/commands/cacheout.js +37 -9
  6. package/dist/bin/commands/create-app.js +276 -121
  7. package/dist/bin/commands/create-project.js +506 -217
  8. package/dist/bin/commands/deploy.js +1785 -694
  9. package/dist/bin/commands/dev.js +177 -43
  10. package/dist/bin/commands/doctor.d.ts +6 -0
  11. package/dist/bin/commands/doctor.d.ts.map +1 -0
  12. package/dist/bin/commands/{lint.js → doctor.js} +1215 -156
  13. package/dist/bin/commands/doctor.js.map +1 -0
  14. package/dist/bin/commands/emu.js +451 -104
  15. package/dist/bin/commands/format.js +37 -9
  16. package/dist/bin/commands/make-admin.js +77499 -11
  17. package/dist/bin/commands/preview.js +181 -43
  18. package/dist/bin/commands/setup.d.ts +6 -0
  19. package/dist/bin/commands/setup.d.ts.map +1 -0
  20. package/dist/bin/commands/setup.js +11733 -0
  21. package/dist/bin/commands/setup.js.map +1 -0
  22. package/dist/bin/commands/supabase-setup.d.ts +6 -0
  23. package/dist/bin/commands/supabase-setup.d.ts.map +1 -0
  24. package/dist/bin/commands/supabase-setup.js +7 -0
  25. package/dist/bin/commands/supabase-setup.js.map +1 -0
  26. package/dist/bin/commands/sync-secrets.js +211 -34
  27. package/dist/bin/commands/type-check.d.ts +14 -0
  28. package/dist/bin/commands/type-check.d.ts.map +1 -0
  29. package/dist/bin/commands/type-check.js +2049 -0
  30. package/dist/bin/commands/type-check.js.map +1 -0
  31. package/dist/bin/commands/wai.js +3 -1
  32. package/dist/bin/dndev.js +73 -52
  33. package/dist/bin/donotdev.js +54 -45
  34. package/dist/index.js +4212 -3050
  35. package/package.json +3 -3
  36. package/templates/app-demo/src/App.tsx.example +1 -0
  37. package/templates/app-demo/src/pages/FullPage.tsx.example +2 -2
  38. package/templates/app-demo/src/pages/components/DemoLayout.tsx.example +2 -2
  39. package/templates/app-demo/src/themes.css.example +5 -12
  40. package/templates/app-expo/.env.example +44 -0
  41. package/templates/app-expo/.expo/README.md.example +5 -0
  42. package/templates/app-expo/.gitignore.example +36 -0
  43. package/templates/app-expo/README.md.example +58 -0
  44. package/templates/app-expo/app/.gitkeep +2 -0
  45. package/templates/app-expo/app/_layout.tsx.example +41 -0
  46. package/templates/app-expo/app/form.tsx.example +52 -0
  47. package/templates/app-expo/app/index.tsx.example +89 -0
  48. package/templates/app-expo/app/list.tsx.example +32 -0
  49. package/templates/app-expo/app/profile.tsx.example +76 -0
  50. package/templates/app-expo/app/signin.tsx.example +53 -0
  51. package/templates/app-expo/app.json.example +39 -0
  52. package/templates/app-expo/assets/adaptive-icon.png +0 -0
  53. package/templates/app-expo/assets/favicon.png +0 -0
  54. package/templates/app-expo/assets/icon.png +0 -0
  55. package/templates/app-expo/assets/splash.png +0 -0
  56. package/templates/app-expo/babel.config.js.example +10 -0
  57. package/templates/app-expo/eas.json.example +20 -0
  58. package/templates/app-expo/expo-env.d.ts.example +4 -0
  59. package/templates/app-expo/metro.config.js.example +20 -0
  60. package/templates/app-expo/service-account-key.json.example +12 -0
  61. package/templates/app-expo/src/config/app.ts.example +46 -0
  62. package/templates/app-expo/src/config/providers.ts.example +7 -0
  63. package/templates/app-expo/tsconfig.json.example +19 -0
  64. package/templates/app-next/.env.example +4 -33
  65. package/templates/app-next/src/app/ClientLayout.tsx.example +2 -0
  66. package/templates/app-next/src/app/layout.tsx.example +7 -6
  67. package/templates/app-next/src/config/providers.ts.example +7 -0
  68. package/templates/app-next/src/globals.css.example +2 -11
  69. package/templates/app-next/src/pages/HomePage.tsx.example +1 -1
  70. package/templates/app-next/src/themes.css.example +10 -13
  71. package/templates/app-vite/.env.example +3 -32
  72. package/templates/app-vite/index.html.example +2 -24
  73. package/templates/app-vite/src/App.tsx.example +2 -0
  74. package/templates/app-vite/src/config/providers.ts.example +7 -0
  75. package/templates/app-vite/src/globals.css.example +2 -12
  76. package/templates/app-vite/src/pages/FormPageExample.tsx.example +1 -2
  77. package/templates/app-vite/src/pages/HomePage.tsx.example +2 -2
  78. package/templates/app-vite/src/themes.css.example +109 -79
  79. package/templates/app-vite/vercel.json.example +11 -0
  80. package/templates/functions-firebase/README.md.example +1 -1
  81. package/templates/functions-firebase/build.mjs.example +2 -72
  82. package/templates/functions-firebase/functions-firebase/.env.example.example +24 -26
  83. package/templates/functions-firebase/functions-firebase/README.md.example +1 -1
  84. package/templates/functions-firebase/functions-firebase/build.mjs.example +2 -72
  85. package/templates/functions-firebase/functions-firebase/tsconfig.json.example +1 -1
  86. package/templates/functions-firebase/functions.config.js.example +1 -1
  87. package/templates/functions-supabase/supabase/config.toml.example +59 -0
  88. package/templates/functions-supabase/supabase/functions/.env.example +13 -0
  89. package/templates/functions-supabase/supabase/functions/cancel-subscription/index.ts.example +7 -0
  90. package/templates/functions-supabase/supabase/functions/change-plan/index.ts.example +11 -0
  91. package/templates/functions-supabase/supabase/functions/create-checkout-session/index.ts.example +11 -0
  92. package/templates/functions-supabase/supabase/functions/create-customer-portal/index.ts.example +7 -0
  93. package/templates/functions-supabase/supabase/functions/crud/index.ts.example +16 -0
  94. package/templates/functions-supabase/supabase/functions/delete-account/index.ts.example +7 -0
  95. package/templates/functions-supabase/supabase/functions/deno.json.example +8 -0
  96. package/templates/functions-supabase/supabase/functions/get-custom-claims/index.ts.example +7 -0
  97. package/templates/functions-supabase/supabase/functions/get-user-auth-status/index.ts.example +7 -0
  98. package/templates/functions-supabase/supabase/functions/refresh-subscription-status/index.ts.example +7 -0
  99. package/templates/functions-supabase/supabase/functions/remove-custom-claims/index.ts.example +7 -0
  100. package/templates/functions-supabase/supabase/functions/set-custom-claims/index.ts.example +7 -0
  101. package/templates/functions-supabase/supabase/migrations/20250101000000_idempotency.sql +24 -0
  102. package/templates/functions-supabase/supabase/migrations/20250101000001_rate_limits.sql +22 -0
  103. package/templates/functions-supabase/supabase/migrations/20250101000002_cleanup_jobs.sql +28 -0
  104. package/templates/functions-supabase/supabase/migrations/20250101000003_operation_metrics.sql +28 -0
  105. package/templates/functions-vercel/functions-vercel/tsconfig.json.example +1 -1
  106. package/templates/functions-vercel/functions-vercel/vercel.json.example +1 -1
  107. package/templates/functions-vercel/vercel.json.example +1 -1
  108. package/templates/github/github/workflows/firebase-deploy.yml.example +1 -1
  109. package/templates/github/workflows/firebase-deploy.yml.example +1 -1
  110. package/templates/overlay-firebase/env.fragment.example +34 -0
  111. package/templates/overlay-firebase/env.fragment.expo.example +34 -0
  112. package/templates/overlay-firebase/env.fragment.nextjs.example +34 -0
  113. package/templates/overlay-firebase/src/config/providers.expo.ts.example +49 -0
  114. package/templates/overlay-firebase/src/config/providers.ts.example +23 -0
  115. package/templates/overlay-supabase/env.fragment.example +12 -0
  116. package/templates/overlay-supabase/env.fragment.expo.example +12 -0
  117. package/templates/overlay-supabase/env.fragment.nextjs.example +12 -0
  118. package/templates/overlay-supabase/src/config/providers.expo.ts.example +35 -0
  119. package/templates/overlay-supabase/src/config/providers.ts.example +33 -0
  120. package/templates/overlay-supabase/vercel.headers.example +23 -0
  121. package/templates/overlay-supabase/vercel.json.example +22 -0
  122. package/templates/overlay-vercel/env.fragment.example +34 -0
  123. package/templates/overlay-vercel/env.fragment.nextjs.example +34 -0
  124. package/templates/overlay-vercel/src/config/providers.ts.example +24 -0
  125. package/templates/root-consumer/.claude/agents/architect.md.example +2 -310
  126. package/templates/root-consumer/.claude/agents/builder.md.example +2 -326
  127. package/templates/root-consumer/.claude/agents/coder.md.example +2 -83
  128. package/templates/root-consumer/.claude/agents/extractor.md.example +2 -231
  129. package/templates/root-consumer/.claude/agents/polisher.md.example +2 -132
  130. package/templates/root-consumer/.claude/agents/prompt-engineer.md.example +2 -81
  131. package/templates/root-consumer/.claude/commands/grill.md.example +30 -0
  132. package/templates/root-consumer/.claude/commands/techdebt.md.example +28 -0
  133. package/templates/root-consumer/.clinerules.example +1 -0
  134. package/templates/root-consumer/.cursor/rules/no-docs.mdc.example +15 -0
  135. package/templates/root-consumer/.cursorrules.example +1 -0
  136. package/templates/root-consumer/.github/copilot-instructions.md.example +1 -0
  137. package/templates/root-consumer/.windsurfrules.example +1 -0
  138. package/templates/root-consumer/AI.md.example +44 -123
  139. package/templates/root-consumer/CLAUDE.md.example +1 -134
  140. package/templates/root-consumer/CONVENTIONS.md.example +1 -0
  141. package/templates/root-consumer/GEMINI.md.example +1 -0
  142. package/templates/root-consumer/firebase.json.example +1 -1
  143. package/templates/root-consumer/guides/dndev/AGENT_START_HERE.md.example +22 -2
  144. package/templates/root-consumer/guides/dndev/COMPONENTS_ADV.md.example +0 -18
  145. package/templates/root-consumer/guides/dndev/COMPONENTS_UI.md.example +1 -1
  146. package/templates/root-consumer/guides/dndev/ENV_SETUP.md.example +101 -32
  147. package/templates/root-consumer/guides/dndev/INDEX.md.example +4 -2
  148. package/templates/root-consumer/guides/dndev/SETUP_APP_CONFIG.md.example +3 -3
  149. package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +241 -12
  150. package/templates/root-consumer/guides/dndev/SETUP_FIREBASE.md.example +13 -7
  151. package/templates/root-consumer/guides/dndev/SETUP_OAUTH_PROVIDERS.md.example +60 -0
  152. package/templates/root-consumer/guides/dndev/SETUP_SOC2.md.example +234 -0
  153. package/templates/root-consumer/guides/dndev/SETUP_STRIPE.md.example +62 -0
  154. package/templates/root-consumer/guides/dndev/SETUP_SUPABASE.md.example +124 -0
  155. package/templates/root-consumer/guides/dndev/SETUP_THEMES.md.example +6 -2
  156. package/templates/root-consumer/guides/dndev/SETUP_VERCEL.md.example +176 -0
  157. package/templates/root-consumer/guides/dndev/USE_ROUTING.md.example +5 -9
  158. package/templates/root-consumer/guides/dndev/essences_reference.css.example +174 -0
  159. package/templates/root-consumer/guides/wai-way/WAI_WAY_CLI.md.example +7 -8
  160. package/templates/root-consumer/guides/wai-way/agents/builder.md.example +10 -0
  161. package/templates/root-consumer/guides/wai-way/agents/extractor.md.example +25 -5
  162. package/templates/root-consumer/guides/wai-way/agents/polisher.md.example +13 -2
  163. package/templates/root-consumer/guides/wai-way/blueprints/0_brainstorm.md.example +2 -2
  164. package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +55 -15
  165. package/templates/root-consumer/guides/wai-way/blueprints/3_compose.md.example +15 -4
  166. package/templates/root-consumer/guides/wai-way/spec_template.md.example +7 -6
  167. package/dist/bin/commands/lint.d.ts +0 -11
  168. package/dist/bin/commands/lint.d.ts.map +0 -1
  169. package/dist/bin/commands/lint.js.map +0 -1
  170. package/dist/bin/commands/staging.d.ts +0 -11
  171. package/dist/bin/commands/staging.d.ts.map +0 -1
  172. package/dist/bin/commands/staging.js +0 -12
  173. package/dist/bin/commands/staging.js.map +0 -1
  174. package/templates/app-payload/.env.example +0 -28
  175. package/templates/app-payload/README.md.example +0 -233
  176. package/templates/app-payload/collections/Company.ts.example +0 -125
  177. package/templates/app-payload/collections/Hero.ts.example +0 -62
  178. package/templates/app-payload/collections/Media.ts.example +0 -41
  179. package/templates/app-payload/collections/Products.ts.example +0 -115
  180. package/templates/app-payload/collections/Services.ts.example +0 -104
  181. package/templates/app-payload/collections/Testimonials.ts.example +0 -92
  182. package/templates/app-payload/collections/Users.ts.example +0 -35
  183. package/templates/app-payload/src/server.ts.example +0 -79
  184. package/templates/app-payload/tsconfig.json.example +0 -24
@@ -2,7 +2,7 @@
2
2
  "$schema": "./dependencies-matrix.schema.json",
3
3
  "version": "0.0.6",
4
4
  "description": "Centralized dependency versions for DoNotDev framework. Single source of truth for all external dependencies. ⚠️ SYNC REQUIRED: When adding/removing @donotdev/* feature packages (auth, billing, crud, oauth), also update packages/core/config/constants.js BUNDLING.optionalFeatures array.",
5
- "lastUpdated": "2026-02-06",
5
+ "lastUpdated": "2026-02-23",
6
6
  "migrationGuides": {
7
7
  "0.0→0.1": {
8
8
  "path": "docs/migration/v0.0-to-v0.1.md",
@@ -17,67 +17,105 @@
17
17
  "@donotdev/adv-comps": {
18
18
  "description": "Advanced components package",
19
19
  "packages": {
20
- "@donotdev/adv-comps": "^0.0.9"
20
+ "@donotdev/adv-comps": "^0.0.13"
21
21
  }
22
22
  },
23
23
  "@donotdev/auth": {
24
24
  "description": "Authentication package",
25
25
  "packages": {
26
- "@donotdev/auth": "^0.0.6"
26
+ "@donotdev/auth": "^0.0.9"
27
27
  }
28
28
  },
29
29
  "@donotdev/billing": {
30
30
  "description": "Billing package",
31
31
  "packages": {
32
- "@donotdev/billing": "^0.0.5"
32
+ "@donotdev/billing": "^0.0.8"
33
33
  }
34
34
  },
35
35
  "@donotdev/components": {
36
36
  "description": "UI components package",
37
37
  "packages": {
38
- "@donotdev/components": "^0.0.15"
38
+ "@donotdev/components": "^0.0.19"
39
39
  }
40
40
  },
41
41
  "@donotdev/core": {
42
42
  "description": "Core framework package",
43
43
  "packages": {
44
- "@donotdev/core": "^0.0.21"
44
+ "@donotdev/core": "^0.0.25"
45
45
  }
46
46
  },
47
47
  "@donotdev/crud": {
48
48
  "description": "CRUD operations package",
49
49
  "packages": {
50
- "@donotdev/crud": "^0.0.12"
50
+ "@donotdev/crud": "^0.0.16"
51
51
  }
52
52
  },
53
53
  "@donotdev/firebase": {
54
54
  "description": "Firebase provider package",
55
55
  "packages": {
56
- "@donotdev/firebase": "^0.0.9"
56
+ "@donotdev/firebase": "^0.0.12"
57
57
  }
58
58
  },
59
59
  "@donotdev/functions": {
60
60
  "description": "Firebase Functions package",
61
61
  "packages": {
62
- "@donotdev/functions": "^0.0.9"
62
+ "@donotdev/functions": "^0.0.12"
63
63
  }
64
64
  },
65
65
  "@donotdev/oauth": {
66
66
  "description": "OAuth package",
67
67
  "packages": {
68
- "@donotdev/oauth": "^0.0.5"
68
+ "@donotdev/oauth": "^0.0.8"
69
69
  }
70
70
  },
71
71
  "@donotdev/templates": {
72
72
  "description": "Page templates package",
73
73
  "packages": {
74
- "@donotdev/templates": "^0.0.7"
74
+ "@donotdev/templates": "^0.0.11"
75
75
  }
76
76
  },
77
77
  "@donotdev/ui": {
78
78
  "description": "UI and routing package",
79
79
  "packages": {
80
- "@donotdev/ui": "^0.0.11"
80
+ "@donotdev/ui": "^0.0.15"
81
+ }
82
+ },
83
+ "@donotdev/expo": {
84
+ "description": "Expo/React Native components package",
85
+ "packages": {
86
+ "@donotdev/expo": "^0.0.2"
87
+ }
88
+ },
89
+ "@donotdev/supabase": {
90
+ "description": "Supabase provider package",
91
+ "packages": {
92
+ "@donotdev/supabase": "^0.0.2"
93
+ }
94
+ },
95
+ "supabase-js": {
96
+ "description": "Supabase client SDK",
97
+ "packages": {
98
+ "@supabase/supabase-js": "^2.76.11"
99
+ }
100
+ },
101
+ "supabase-cli": {
102
+ "description": "Supabase CLI for migrations and edge functions",
103
+ "packages": {
104
+ "supabase": "^2.23.4"
105
+ }
106
+ },
107
+ "provider-firebase": {
108
+ "description": "Firebase provider bundle for app scaffolding (conditional)",
109
+ "packages": {
110
+ "@donotdev/firebase": "^0.0.10",
111
+ "firebase": "^12.9.0"
112
+ }
113
+ },
114
+ "provider-supabase": {
115
+ "description": "Supabase provider bundle for app scaffolding (conditional)",
116
+ "packages": {
117
+ "@donotdev/supabase": "^0.0.1",
118
+ "@supabase/supabase-js": "^2.76.11"
81
119
  }
82
120
  },
83
121
  "react": {
@@ -87,11 +125,17 @@
87
125
  "react-dom": "^19.2.4"
88
126
  }
89
127
  },
128
+ "react-native-only": {
129
+ "description": "React without react-dom for React Native/Expo apps",
130
+ "packages": {
131
+ "react": "^19.2.4"
132
+ }
133
+ },
90
134
  "i18n": {
91
135
  "description": "i18n libraries - auto-installed as transitive deps",
92
136
  "packages": {
93
- "i18next": "^25.8.1",
94
- "i18next-browser-languagedetector": "^8.2.0",
137
+ "i18next": "^25.8.11",
138
+ "i18next-browser-languagedetector": "^8.2.1",
95
139
  "i18next-http-backend": "^3.0.2",
96
140
  "react-i18next": "^16.5.4"
97
141
  }
@@ -105,7 +149,7 @@
105
149
  "react-query": {
106
150
  "description": "Data fetching - auto-installed as transitive dep",
107
151
  "packages": {
108
- "@tanstack/react-query": "^5.90.20"
152
+ "@tanstack/react-query": "^5.90.21"
109
153
  }
110
154
  },
111
155
  "validation": {
@@ -117,13 +161,13 @@
117
161
  "lucide-react": {
118
162
  "description": "Icons - consumers install and use directly",
119
163
  "packages": {
120
- "lucide-react": "^0.563.0"
164
+ "lucide-react": "^0.574.0"
121
165
  }
122
166
  },
123
167
  "react-day-picker": {
124
168
  "description": "Date picker - auto-installed as transitive dep",
125
169
  "packages": {
126
- "react-day-picker": "^9.6.4"
170
+ "react-day-picker": "^9.13.2"
127
171
  }
128
172
  },
129
173
  "radix": {
@@ -180,6 +224,15 @@
180
224
  "@hookform/resolvers": "^5.2.2"
181
225
  }
182
226
  },
227
+ "fontsource-themes": {
228
+ "description": "Theme fonts bundled in @donotdev/ui (Inter, Space Grotesk, Playfair, Roboto)",
229
+ "packages": {
230
+ "@fontsource/inter": "^5.2.8",
231
+ "@fontsource/playfair-display": "^5.2.8",
232
+ "@fontsource/roboto": "^5.2.9",
233
+ "@fontsource/space-grotesk": "^5.2.10"
234
+ }
235
+ },
183
236
  "seo": {
184
237
  "packages": {
185
238
  "react-helmet-async": "^2.0.5"
@@ -188,8 +241,8 @@
188
241
  "markdown": {
189
242
  "description": "Markdown parsing - marked for speed, html-react-parser for SSR",
190
243
  "packages": {
191
- "html-react-parser": "^5.2.16",
192
- "marked": "^17.0.1"
244
+ "html-react-parser": "^5.2.17",
245
+ "marked": "^17.0.3"
193
246
  }
194
247
  },
195
248
  "routing": {
@@ -199,7 +252,7 @@
199
252
  },
200
253
  "firebase": {
201
254
  "packages": {
202
- "firebase": "^12.8.0"
255
+ "firebase": "^12.9.0"
203
256
  }
204
257
  },
205
258
  "browser-image-compression": {
@@ -219,29 +272,28 @@
219
272
  },
220
273
  "stripe": {
221
274
  "packages": {
222
- "stripe": "^20.3.0"
275
+ "stripe": "^20.3.1"
223
276
  }
224
277
  },
225
- "firebase-functions": {
278
+ "firebase-admin": {
226
279
  "packages": {
227
- "firebase-admin": "^13.6.0",
228
- "firebase-functions": "^7.0.5"
280
+ "firebase-admin": "^13.6.1"
229
281
  }
230
282
  },
231
- "firebase-admin": {
283
+ "firebase-functions": {
232
284
  "packages": {
233
- "firebase-admin": "^13.6.0"
285
+ "firebase-functions": "^7.0.5"
234
286
  }
235
287
  },
236
288
  "vercel-deps": {
237
289
  "packages": {
238
290
  "next": "^16.1.6",
239
- "vercel": "^50.10.0"
291
+ "vercel": "^50.18.2"
240
292
  }
241
293
  },
242
294
  "esbuild": {
243
295
  "packages": {
244
- "esbuild": "^0.27.1"
296
+ "esbuild": "^0.27.3"
245
297
  }
246
298
  },
247
299
  "rollup": {
@@ -258,7 +310,7 @@
258
310
  "cli-prompts": {
259
311
  "description": "CLI prompts - used by core config for logging",
260
312
  "packages": {
261
- "@clack/prompts": "^1.0.0"
313
+ "@clack/prompts": "^1.0.1"
262
314
  }
263
315
  },
264
316
  "cli-commander": {
@@ -280,10 +332,10 @@
280
332
  },
281
333
  "vite-deps": {
282
334
  "packages": {
283
- "@vitejs/plugin-react": "^5.1.3",
335
+ "@vitejs/plugin-react": "^5.1.4",
284
336
  "react-refresh": "^0.18.0",
285
337
  "@vitejs/plugin-basic-ssl": "^2.1.4",
286
- "vite-tsconfig-paths": "^6.0.5",
338
+ "vite-tsconfig-paths": "^6.1.1",
287
339
  "@rollup/plugin-strip": "^3.0.4",
288
340
  "rollup-plugin-visualizer": "^6.0.5",
289
341
  "vite-plugin-pwa": "1.2.0"
@@ -291,7 +343,7 @@
291
343
  },
292
344
  "vite-deps-minimal": {
293
345
  "packages": {
294
- "vite-tsconfig-paths": "^6.0.5"
346
+ "vite-tsconfig-paths": "^6.1.1"
295
347
  }
296
348
  },
297
349
  "next": {
@@ -299,6 +351,26 @@
299
351
  "next": "^16.1.6"
300
352
  }
301
353
  },
354
+ "expo": {
355
+ "description": "Expo SDK and core dependencies",
356
+ "packages": {
357
+ "expo": "^54.0.0",
358
+ "expo-router": "^6.0.0",
359
+ "expo-av": "^16.0.0",
360
+ "expo-clipboard": "^8.0.0",
361
+ "expo-document-picker": "^14.0.0",
362
+ "@expo/vector-icons": "^15.0.0",
363
+ "@react-native-async-storage/async-storage": "^2.1.0",
364
+ "@react-native-community/datetimepicker": "^8.0.0",
365
+ "react-native-safe-area-context": "^5.0.0"
366
+ }
367
+ },
368
+ "react-native": {
369
+ "description": "React Native core",
370
+ "packages": {
371
+ "react-native": "^0.84.0"
372
+ }
373
+ },
302
374
  "typescript": {
303
375
  "packages": {
304
376
  "typescript": "^5.9.3"
@@ -306,19 +378,19 @@
306
378
  },
307
379
  "monitoring": {
308
380
  "packages": {
309
- "@sentry/react": "^10.38.0"
381
+ "@sentry/react": "^10.39.0"
310
382
  }
311
383
  },
312
384
  "monitoring-node": {
313
385
  "packages": {
314
- "@sentry/node": "^10.38.0"
386
+ "@sentry/node": "^10.39.0"
315
387
  }
316
388
  },
317
389
  "postcss": {
318
390
  "packages": {
319
391
  "postcss": "^8.5.6",
320
392
  "postcss-import": "^16.1.1",
321
- "postcss-nesting": "^13.0.2",
393
+ "postcss-nesting": "^14.0.0",
322
394
  "autoprefixer": "^10.4.24"
323
395
  }
324
396
  },
@@ -329,32 +401,38 @@
329
401
  },
330
402
  "types": {
331
403
  "packages": {
332
- "@types/node": "^24.10.10",
333
- "@types/react": "^19.2.10",
404
+ "@types/node": "^24.10.13",
405
+ "@types/react": "^19.2.14",
334
406
  "@types/react-dom": "^19.2.3"
335
407
  }
336
408
  },
409
+ "types-expo": {
410
+ "description": "TypeScript types for Expo and React Native",
411
+ "packages": {
412
+ "@types/react": "^19.2.14"
413
+ }
414
+ },
337
415
  "root-consumer-tooling": {
338
416
  "packages": {
339
- "turbo": "^2.8.3",
417
+ "turbo": "^2.8.10",
340
418
  "sharp": "^0.34.5"
341
419
  }
342
420
  },
343
421
  "vercel": {
344
422
  "packages": {
345
- "vercel": "^50.10.0"
423
+ "vercel": "^50.18.2"
346
424
  }
347
425
  },
348
426
  "@donotdev/cli": {
349
427
  "description": "Cli package",
350
428
  "packages": {
351
- "@donotdev/cli": "^0.0.14"
429
+ "@donotdev/cli": "^0.0.16"
352
430
  }
353
431
  },
354
432
  "@donotdev/mcp-server": {
355
433
  "description": "MCP server for component type lookups",
356
434
  "packages": {
357
- "@donotdev/mcp-server": "^0.0.4"
435
+ "@donotdev/mcp-server": "^0.0.6"
358
436
  }
359
437
  },
360
438
  "mcp-sdk": {
@@ -376,10 +454,17 @@
376
454
  "@dnd-kit/sortable": "^10.0.0",
377
455
  "@dnd-kit/utilities": "^3.2.2"
378
456
  }
457
+ },
458
+ "@donotdev/security": {
459
+ "description": "Security package",
460
+ "packages": {
461
+ "@donotdev/security": "^0.0.2"
462
+ }
379
463
  }
380
464
  },
381
465
  "overrides": {
382
- "path-to-regexp": "^0.1.7"
466
+ "path-to-regexp": "^0.1.7",
467
+ "react-native": "^0.84.0"
383
468
  },
384
469
  "packageMapping": {
385
470
  "@donotdev/core": {
@@ -390,12 +475,29 @@
390
475
  "lucide-react",
391
476
  "monitoring"
392
477
  ],
393
- "dependencies": ["i18n", "react-query", "fast-glob", "cli-prompts"],
394
- "devDependencies": ["vite", "next", "typescript"]
478
+ "dependencies": [
479
+ "i18n",
480
+ "react-query",
481
+ "fast-glob",
482
+ "cli-prompts"
483
+ ],
484
+ "devDependencies": [
485
+ "vite",
486
+ "next",
487
+ "typescript"
488
+ ]
395
489
  },
396
490
  "@donotdev/components": {
397
- "dependencies": ["radix", "styling", "react-day-picker"],
398
- "peerDependencies": ["react", "shiki", "lucide-react"],
491
+ "dependencies": [
492
+ "radix",
493
+ "styling",
494
+ "react-day-picker"
495
+ ],
496
+ "peerDependencies": [
497
+ "react",
498
+ "shiki",
499
+ "lucide-react"
500
+ ],
399
501
  "peerDependenciesMeta": {
400
502
  "shiki": {
401
503
  "optional": true
@@ -411,7 +513,11 @@
411
513
  "routing",
412
514
  "validation"
413
515
  ],
414
- "dependencies": ["forms", "seo"],
516
+ "dependencies": [
517
+ "fontsource-themes",
518
+ "forms",
519
+ "seo"
520
+ ],
415
521
  "peerDependenciesMeta": {
416
522
  "@donotdev/crud": {
417
523
  "optional": true
@@ -419,10 +525,17 @@
419
525
  }
420
526
  },
421
527
  "@donotdev/auth": {
422
- "peerDependencies": ["react", "firebase"]
528
+ "peerDependencies": [
529
+ "react",
530
+ "firebase"
531
+ ]
423
532
  },
424
533
  "@donotdev/billing": {
425
- "peerDependencies": ["react", "lucide-react", "stripe"]
534
+ "peerDependencies": [
535
+ "react",
536
+ "lucide-react",
537
+ "stripe"
538
+ ]
426
539
  },
427
540
  "@donotdev/crud": {
428
541
  "dependencies": [
@@ -432,7 +545,9 @@
432
545
  "@dnd-kit",
433
546
  "forms-resolvers"
434
547
  ],
435
- "devDependencies": ["tiptap"],
548
+ "devDependencies": [
549
+ "tiptap"
550
+ ],
436
551
  "peerDependencies": [
437
552
  "@donotdev/firebase",
438
553
  "react",
@@ -443,24 +558,50 @@
443
558
  "tiptap"
444
559
  ],
445
560
  "peerDependenciesMeta": {
561
+ "@donotdev/firebase": {
562
+ "optional": true
563
+ },
564
+ "firebase": {
565
+ "optional": true
566
+ },
446
567
  "tiptap": {
447
568
  "optional": true
448
569
  }
449
570
  }
450
571
  },
451
572
  "@donotdev/firebase": {
452
- "dependencies": ["browser-image-compression"],
453
- "peerDependencies": ["firebase"]
573
+ "dependencies": [
574
+ "browser-image-compression"
575
+ ],
576
+ "peerDependencies": [
577
+ "firebase"
578
+ ]
579
+ },
580
+ "@donotdev/supabase": {
581
+ "dependencies": [
582
+ "validation"
583
+ ],
584
+ "peerDependencies": [
585
+ "supabase-js"
586
+ ]
454
587
  },
455
588
  "@donotdev/i18n": {
456
- "dependencies": ["i18n"],
457
- "peerDependencies": ["lucide-react"]
589
+ "dependencies": [
590
+ "i18n"
591
+ ],
592
+ "peerDependencies": [
593
+ "lucide-react"
594
+ ]
458
595
  },
459
596
  "@donotdev/stores": {
460
- "dependencies": ["zustand"]
597
+ "dependencies": [
598
+ "zustand"
599
+ ]
461
600
  },
462
601
  "@donotdev/schemas": {
463
- "dependencies": ["validation"]
602
+ "dependencies": [
603
+ "validation"
604
+ ]
464
605
  },
465
606
  "@donotdev/types": {
466
607
  "devDependencies": [
@@ -472,18 +613,34 @@
472
613
  ]
473
614
  },
474
615
  "@donotdev/utils": {
475
- "dependencies": ["zustand"],
476
- "peerDependencies": ["monitoring"],
477
- "devDependencies": ["validation", "firebase", "i18n"]
616
+ "dependencies": [
617
+ "zustand"
618
+ ],
619
+ "peerDependencies": [
620
+ "monitoring"
621
+ ],
622
+ "devDependencies": [
623
+ "validation",
624
+ "firebase",
625
+ "i18n"
626
+ ]
478
627
  },
479
628
  "@donotdev/hooks": {
480
- "dependencies": ["react-query"]
629
+ "dependencies": [
630
+ "react-query"
631
+ ]
481
632
  },
482
633
  "@donotdev/cli": {
483
- "dependencies": ["cli-prompts", "cli-commander", "fast-glob"]
634
+ "dependencies": [
635
+ "cli-prompts",
636
+ "cli-commander",
637
+ "fast-glob"
638
+ ]
484
639
  },
485
640
  "@donotdev/mcp-server": {
486
- "dependencies": ["mcp-sdk"]
641
+ "dependencies": [
642
+ "mcp-sdk"
643
+ ]
487
644
  },
488
645
  "@donotdev/tooling": {
489
646
  "dependencies": [
@@ -491,17 +648,26 @@
491
648
  "cli-commander",
492
649
  "fast-glob",
493
650
  "esbuild",
494
- "rollup"
651
+ "rollup",
652
+ "supabase-cli",
653
+ "supabase-js"
495
654
  ],
496
- "devDependencies": ["yaml"]
655
+ "devDependencies": [
656
+ "yaml"
657
+ ]
497
658
  },
498
659
  "@donotdev/oauth": {
499
- "peerDependencies": ["react"]
660
+ "peerDependencies": [
661
+ "react"
662
+ ]
500
663
  },
501
664
  "@donotdev/functions": {
502
- "dependencies": ["@donotdev/core"],
665
+ "dependencies": [
666
+ "@donotdev/core"
667
+ ],
503
668
  "peerDependencies": [
504
669
  "firebase-functions",
670
+ "firebase-admin",
505
671
  "stripe",
506
672
  "validation",
507
673
  "monitoring-node",
@@ -509,11 +675,18 @@
509
675
  ]
510
676
  },
511
677
  "@donotdev/adv-comps": {
512
- "peerDependencies": ["react", "shiki"],
678
+ "peerDependencies": [
679
+ "react",
680
+ "shiki",
681
+ "lucide-react"
682
+ ],
513
683
  "dependencies": [],
514
684
  "peerDependenciesMeta": {
515
685
  "shiki": {
516
686
  "optional": true
687
+ },
688
+ "lucide-react": {
689
+ "optional": true
517
690
  }
518
691
  }
519
692
  },
@@ -566,6 +739,37 @@
566
739
  "types",
567
740
  "vite-deps-minimal"
568
741
  ]
742
+ },
743
+ "@donotdev/expo": {
744
+ "dependencies": [
745
+ "@donotdev/core",
746
+ "@donotdev/crud",
747
+ "expo",
748
+ "forms",
749
+ "forms-resolvers"
750
+ ],
751
+ "peerDependencies": [
752
+ "react",
753
+ "react-native",
754
+ "@donotdev/auth",
755
+ "@donotdev/billing",
756
+ "@donotdev/oauth",
757
+ "@donotdev/ui"
758
+ ],
759
+ "peerDependenciesMeta": {
760
+ "@donotdev/auth": {
761
+ "optional": true
762
+ },
763
+ "@donotdev/billing": {
764
+ "optional": true
765
+ },
766
+ "@donotdev/oauth": {
767
+ "optional": true
768
+ },
769
+ "@donotdev/ui": {
770
+ "optional": true
771
+ }
772
+ }
569
773
  }
570
774
  },
571
775
  "templateMapping": {
@@ -578,7 +782,6 @@
578
782
  "@donotdev/components",
579
783
  "@donotdev/core",
580
784
  "@donotdev/crud",
581
- "@donotdev/firebase",
582
785
  "@donotdev/oauth",
583
786
  "@donotdev/templates",
584
787
  "@donotdev/ui",
@@ -586,8 +789,7 @@
586
789
  "zustand",
587
790
  "validation",
588
791
  "lucide-react",
589
- "routing",
590
- "firebase"
792
+ "routing"
591
793
  ],
592
794
  "devDependencies": [
593
795
  "vite",
@@ -597,7 +799,11 @@
597
799
  "react-query",
598
800
  "vite-deps",
599
801
  "postcss"
600
- ]
802
+ ],
803
+ "conditional": {
804
+ "provider-firebase": "platform===firebase",
805
+ "provider-supabase": "platform===supabase"
806
+ }
601
807
  },
602
808
  "dev-nextjs": {
603
809
  "description": "New nextjs app in workspace (all packages, all deps, no filtering)",
@@ -608,15 +814,13 @@
608
814
  "@donotdev/components",
609
815
  "@donotdev/core",
610
816
  "@donotdev/crud",
611
- "@donotdev/firebase",
612
817
  "@donotdev/oauth",
613
818
  "@donotdev/templates",
614
819
  "@donotdev/ui",
615
820
  "react",
616
821
  "zustand",
617
822
  "validation",
618
- "lucide-react",
619
- "firebase"
823
+ "lucide-react"
620
824
  ],
621
825
  "devDependencies": [
622
826
  "next",
@@ -625,7 +829,11 @@
625
829
  "i18n",
626
830
  "react-query",
627
831
  "postcss"
628
- ]
832
+ ],
833
+ "conditional": {
834
+ "provider-firebase": "platform===firebase",
835
+ "provider-supabase": "platform===supabase"
836
+ }
629
837
  },
630
838
  "consumer-root": {
631
839
  "description": "Root package.json for consumer projects",
@@ -636,17 +844,21 @@
636
844
  "@donotdev/components",
637
845
  "@donotdev/core",
638
846
  "@donotdev/crud",
639
- "@donotdev/firebase",
640
847
  "@donotdev/oauth",
641
848
  "@donotdev/templates",
642
849
  "@donotdev/ui",
643
850
  "react",
644
851
  "zustand",
645
852
  "validation",
646
- "lucide-react",
647
- "firebase"
853
+ "lucide-react"
854
+ ],
855
+ "devDependencies": [
856
+ "root-consumer-tooling"
648
857
  ],
649
- "devDependencies": ["root-consumer-tooling"]
858
+ "conditional": {
859
+ "provider-firebase": "platform===firebase",
860
+ "provider-supabase": "platform===supabase"
861
+ }
650
862
  },
651
863
  "consumer-vite": {
652
864
  "description": "Vite app for consumers (filter inlined packages)",
@@ -657,7 +869,6 @@
657
869
  "@donotdev/components",
658
870
  "@donotdev/core",
659
871
  "@donotdev/crud",
660
- "@donotdev/firebase",
661
872
  "@donotdev/oauth",
662
873
  "@donotdev/templates",
663
874
  "@donotdev/ui",
@@ -666,11 +877,20 @@
666
877
  "validation",
667
878
  "lucide-react",
668
879
  "routing",
669
- "firebase",
670
880
  "i18n",
671
881
  "react-query"
672
882
  ],
673
- "devDependencies": ["vite", "typescript", "types", "vite-deps", "postcss"]
883
+ "devDependencies": [
884
+ "vite",
885
+ "typescript",
886
+ "types",
887
+ "vite-deps",
888
+ "postcss"
889
+ ],
890
+ "conditional": {
891
+ "provider-firebase": "platform===firebase",
892
+ "provider-supabase": "platform===supabase"
893
+ }
674
894
  },
675
895
  "consumer-nextjs": {
676
896
  "description": "Nextjs app for consumers (filter inlined packages)",
@@ -681,7 +901,6 @@
681
901
  "@donotdev/components",
682
902
  "@donotdev/core",
683
903
  "@donotdev/crud",
684
- "@donotdev/firebase",
685
904
  "@donotdev/oauth",
686
905
  "@donotdev/templates",
687
906
  "@donotdev/ui",
@@ -689,11 +908,69 @@
689
908
  "zustand",
690
909
  "validation",
691
910
  "lucide-react",
692
- "firebase",
693
911
  "i18n",
694
912
  "react-query"
695
913
  ],
696
- "devDependencies": ["next", "typescript", "types", "postcss"]
914
+ "devDependencies": [
915
+ "next",
916
+ "typescript",
917
+ "types",
918
+ "postcss"
919
+ ],
920
+ "conditional": {
921
+ "provider-firebase": "platform===firebase",
922
+ "provider-supabase": "platform===supabase"
923
+ }
924
+ },
925
+ "dev-expo": {
926
+ "description": "New Expo app in workspace (all packages, all deps, no filtering)",
927
+ "dependencies": [
928
+ "@donotdev/expo",
929
+ "@donotdev/auth",
930
+ "@donotdev/billing",
931
+ "@donotdev/core",
932
+ "@donotdev/crud",
933
+ "@donotdev/oauth",
934
+ "react-native-only",
935
+ "zustand",
936
+ "validation",
937
+ "react-query"
938
+ ],
939
+ "devDependencies": [
940
+ "expo",
941
+ "typescript",
942
+ "types-expo",
943
+ "react-native"
944
+ ],
945
+ "conditional": {
946
+ "provider-firebase": "platform===firebase",
947
+ "provider-supabase": "platform===supabase"
948
+ }
949
+ },
950
+ "consumer-expo": {
951
+ "description": "Expo app for consumers (filter inlined packages)",
952
+ "dependencies": [
953
+ "@donotdev/expo",
954
+ "@donotdev/auth",
955
+ "@donotdev/billing",
956
+ "@donotdev/core",
957
+ "@donotdev/crud",
958
+ "@donotdev/oauth",
959
+ "react-native-only",
960
+ "zustand",
961
+ "validation",
962
+ "react-query"
963
+ ],
964
+ "devDependencies": [
965
+ "expo",
966
+ "typescript",
967
+ "types-expo",
968
+ "react-native"
969
+ ],
970
+ "conditional": {
971
+ "provider-firebase": "platform===firebase",
972
+ "provider-supabase": "platform===supabase"
973
+ }
697
974
  },
698
975
  "functions-firebase": {
699
976
  "description": "Firebase Functions app",
@@ -716,12 +993,19 @@
716
993
  "monitoring-node",
717
994
  "stripe"
718
995
  ],
719
- "devDependencies": ["vercel"]
996
+ "devDependencies": [
997
+ "vercel"
998
+ ]
720
999
  },
721
1000
  "entities": {
722
1001
  "description": "Entities workspace package",
723
- "dependencies": ["validation"],
724
- "devDependencies": ["eslint", "typescript"]
1002
+ "dependencies": [
1003
+ "validation"
1004
+ ],
1005
+ "devDependencies": [
1006
+ "eslint",
1007
+ "typescript"
1008
+ ]
725
1009
  },
726
1010
  "demo": {
727
1011
  "description": "Demo app template (components only)",