@donotdev/cli 0.0.5 → 0.0.7
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 +76 -34
- package/dist/bin/commands/build.js +165 -161
- package/dist/bin/commands/bump.js +172 -160
- package/dist/bin/commands/cacheout.js +163 -157
- package/dist/bin/commands/create-app.js +205 -163
- package/dist/bin/commands/create-project.js +176 -161
- package/dist/bin/commands/deploy.js +480 -472
- package/dist/bin/commands/dev.js +164 -158
- package/dist/bin/commands/emu.js +164 -158
- package/dist/bin/commands/format.js +163 -157
- package/dist/bin/commands/lint.js +166 -157
- package/dist/bin/commands/make-admin.d.ts +11 -0
- package/dist/bin/commands/make-admin.d.ts.map +1 -0
- package/dist/bin/commands/make-admin.js +12 -0
- package/dist/bin/commands/make-admin.js.map +1 -0
- package/dist/bin/commands/preview.js +164 -158
- package/dist/bin/commands/sync-secrets.js +164 -158
- package/dist/bin/commands/wai.d.ts +11 -0
- package/dist/bin/commands/wai.d.ts.map +1 -0
- package/dist/bin/commands/wai.js +12 -0
- package/dist/bin/commands/wai.js.map +1 -0
- package/dist/bin/dndev.js +24 -8
- package/dist/bin/donotdev.js +24 -8
- package/dist/index.js +557 -514
- package/package.json +1 -1
- package/templates/app-demo/index.html.example +4 -0
- package/templates/app-demo/src/App.tsx.example +28 -10
- package/templates/app-demo/src/config/app.ts.example +68 -0
- package/templates/app-next/src/app/ClientLayout.tsx.example +4 -3
- package/templates/app-next/src/app/layout.tsx.example +17 -25
- package/templates/app-next/src/config/app.ts.example +75 -48
- package/templates/app-next/src/globals.css.example +10 -7
- package/templates/app-next/src/locales/dndev_en.json.example +68 -0
- package/templates/app-next/src/pages/locales/example_en.json.example +5 -0
- package/templates/app-vite/index.html.example +71 -34
- package/templates/app-vite/src/config/app.ts.example +75 -47
- package/templates/app-vite/src/globals.css.example +14 -6
- package/templates/app-vite/src/locales/dndev_en.json.example +68 -0
- package/templates/app-vite/src/pages/FormPageExample.tsx.example +152 -0
- package/templates/app-vite/src/pages/HomePage.tsx.example +81 -134
- package/templates/app-vite/src/pages/ListPageExample.tsx.example +88 -0
- package/templates/functions-firebase/README.md.example +25 -0
- package/templates/functions-firebase/build.mjs.example +8 -1
- package/templates/functions-firebase/functions-firebase/build.mjs.example +8 -1
- package/templates/functions-firebase/functions-firebase/src/index.ts.example +19 -25
- package/templates/functions-firebase/functions.config.js.example +35 -0
- package/templates/functions-firebase/tsconfig.json.example +3 -13
- package/templates/functions-vercel/tsconfig.json.example +1 -13
- package/templates/root-consumer/entities/ExampleEntity.ts.example +223 -0
- package/templates/root-consumer/entities/demo.ts.example +562 -0
- package/templates/root-consumer/entities/index.ts.example +15 -0
- package/templates/root-consumer/firebase.json.example +1 -1
- package/templates/root-consumer/guides/{AGENT_START_HERE.md.example → dndev/AGENT_START_HERE.md.example} +22 -0
- package/templates/root-consumer/guides/{COMPONENTS_ADV.md.example → dndev/COMPONENTS_ADV.md.example} +456 -360
- package/templates/root-consumer/guides/{COMPONENTS_ATOMIC.md.example → dndev/COMPONENTS_ATOMIC.md.example} +42 -0
- package/templates/root-consumer/guides/dndev/COMPONENTS_CRUD.md.example +231 -0
- package/templates/root-consumer/guides/{INDEX.md.example → dndev/INDEX.md.example} +3 -0
- package/templates/root-consumer/guides/{SETUP_APP_CONFIG.md.example → dndev/SETUP_APP_CONFIG.md.example} +5 -2
- package/templates/root-consumer/guides/{SETUP_AUTH.md.example → dndev/SETUP_AUTH.md.example} +30 -0
- package/templates/root-consumer/guides/{SETUP_BILLING.md.example → dndev/SETUP_BILLING.md.example} +44 -4
- package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +473 -0
- package/templates/root-consumer/guides/dndev/SETUP_FUNCTIONS.md.example +116 -0
- package/templates/root-consumer/guides/{SETUP_PAGES.md.example → dndev/SETUP_PAGES.md.example} +17 -0
- package/templates/root-consumer/guides/dndev/SETUP_PWA.md.example +213 -0
- package/templates/root-consumer/guides/dndev/USE_ROUTING.md.example +503 -0
- package/templates/root-consumer/guides/wai-way/WAI_WAY_CLI.md.example +404 -0
- package/templates/root-consumer/guides/wai-way/agents/architect.md.example +78 -0
- package/templates/root-consumer/guides/wai-way/agents/builder.md.example +87 -0
- package/templates/root-consumer/guides/wai-way/agents/extractor.md.example +325 -0
- package/templates/root-consumer/guides/wai-way/agents/polisher.md.example +100 -0
- package/templates/root-consumer/guides/wai-way/blueprints/0_brainstorm.md.example +281 -0
- package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +77 -0
- package/templates/root-consumer/guides/wai-way/blueprints/2_entities.md.example +104 -0
- package/templates/root-consumer/guides/wai-way/blueprints/3_compose.md.example +124 -0
- package/templates/root-consumer/guides/wai-way/blueprints/4_configure.md.example +165 -0
- package/templates/root-consumer/guides/wai-way/context_map.json.example +95 -0
- package/templates/root-consumer/guides/wai-way/entity_patterns.md.example +840 -0
- package/templates/root-consumer/guides/wai-way/page_patterns.md.example +686 -0
- package/templates/root-consumer/guides/wai-way/presets_guide.md.example +217 -0
- package/templates/root-consumer/guides/wai-way/spec_template.md.example +312 -0
- package/templates/root-consumer/vercel.json.example +315 -20
- package/templates/app-demo/src/Routes.tsx.example +0 -20
- package/templates/app-vite/src/Routes.tsx.example +0 -16
- package/templates/app-vite/src/pages/locales/README.md.example +0 -1
- package/templates/functions-firebase/functions-firebase/src/crud/createEntity.ts.example +0 -19
- package/templates/functions-firebase/functions-firebase/src/crud/deleteEntity.ts.example +0 -14
- package/templates/functions-firebase/functions-firebase/src/crud/getEntity.ts.example +0 -14
- package/templates/functions-firebase/functions-firebase/src/crud/index.ts.example +0 -12
- package/templates/functions-firebase/functions-firebase/src/crud/listEntities.ts.example +0 -14
- package/templates/functions-firebase/functions-firebase/src/crud/updateEntity.ts.example +0 -14
- package/templates/root-consumer/guides/COMPONENTS_CRUD.md.example +0 -70
- package/templates/root-consumer/guides/SETUP_FUNCTIONS.md.example +0 -62
- /package/templates/root-consumer/guides/{COMPONENTS_UI.md.example → dndev/COMPONENTS_UI.md.example} +0 -0
- /package/templates/root-consumer/guides/{ENV_SETUP.md.example → dndev/ENV_SETUP.md.example} +0 -0
- /package/templates/root-consumer/guides/{SETUP_I18N.md.example → dndev/SETUP_I18N.md.example} +0 -0
- /package/templates/root-consumer/guides/{SETUP_LAYOUTS.md.example → dndev/SETUP_LAYOUTS.md.example} +0 -0
- /package/templates/root-consumer/guides/{SETUP_OAUTH.md.example → dndev/SETUP_OAUTH.md.example} +0 -0
- /package/templates/root-consumer/guides/{SETUP_THEMES.md.example → dndev/SETUP_THEMES.md.example} +0 -0
- /package/templates/root-consumer/guides/{advanced → dndev/advanced}/APP_CHECK.md.example +0 -0
- /package/templates/root-consumer/guides/{advanced → dndev/advanced}/COOKIE_REFERENCE.md.example +0 -0
- /package/templates/root-consumer/guides/{advanced → dndev/advanced}/EMULATORS.md.example +0 -0
- /package/templates/root-consumer/guides/{advanced → dndev/advanced}/VERSION_CONTROL.md.example +0 -0
package/dependencies-matrix.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "./dependencies-matrix.schema.json",
|
|
3
3
|
"version": "0.0.5",
|
|
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-01-
|
|
5
|
+
"lastUpdated": "2026-01-23",
|
|
6
6
|
"migrationGuides": {
|
|
7
7
|
"0.0→0.1": {
|
|
8
8
|
"path": "docs/migration/v0.0-to-v0.1.md",
|
|
@@ -17,67 +17,67 @@
|
|
|
17
17
|
"@donotdev/adv-comps": {
|
|
18
18
|
"description": "Advanced components package",
|
|
19
19
|
"packages": {
|
|
20
|
-
"@donotdev/adv-comps": "^0.0.
|
|
20
|
+
"@donotdev/adv-comps": "^0.0.8"
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"@donotdev/auth": {
|
|
24
24
|
"description": "Authentication package",
|
|
25
25
|
"packages": {
|
|
26
|
-
"@donotdev/auth": "^0.0.
|
|
26
|
+
"@donotdev/auth": "^0.0.5"
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"@donotdev/billing": {
|
|
30
30
|
"description": "Billing package",
|
|
31
31
|
"packages": {
|
|
32
|
-
"@donotdev/billing": "^0.0.
|
|
32
|
+
"@donotdev/billing": "^0.0.5"
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"@donotdev/components": {
|
|
36
36
|
"description": "UI components package",
|
|
37
37
|
"packages": {
|
|
38
|
-
"@donotdev/components": "^0.0.
|
|
38
|
+
"@donotdev/components": "^0.0.12"
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"@donotdev/core": {
|
|
42
42
|
"description": "Core framework package",
|
|
43
43
|
"packages": {
|
|
44
|
-
"@donotdev/core": "^0.0.
|
|
44
|
+
"@donotdev/core": "^0.0.14"
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"@donotdev/crud": {
|
|
48
48
|
"description": "CRUD operations package",
|
|
49
49
|
"packages": {
|
|
50
|
-
"@donotdev/crud": "^0.0.
|
|
50
|
+
"@donotdev/crud": "^0.0.7"
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
"@donotdev/firebase": {
|
|
54
54
|
"description": "Firebase provider package",
|
|
55
55
|
"packages": {
|
|
56
|
-
"@donotdev/firebase": "^0.0.
|
|
56
|
+
"@donotdev/firebase": "^0.0.5"
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
"@donotdev/functions": {
|
|
60
60
|
"description": "Firebase Functions package",
|
|
61
61
|
"packages": {
|
|
62
|
-
"@donotdev/functions": "^0.0.
|
|
62
|
+
"@donotdev/functions": "^0.0.7"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"@donotdev/oauth": {
|
|
66
66
|
"description": "OAuth package",
|
|
67
67
|
"packages": {
|
|
68
|
-
"@donotdev/oauth": "^0.0.
|
|
68
|
+
"@donotdev/oauth": "^0.0.5"
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
"@donotdev/templates": {
|
|
72
72
|
"description": "Page templates package",
|
|
73
73
|
"packages": {
|
|
74
|
-
"@donotdev/templates": "^0.0.
|
|
74
|
+
"@donotdev/templates": "^0.0.6"
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
"@donotdev/ui": {
|
|
78
78
|
"description": "UI and routing package",
|
|
79
79
|
"packages": {
|
|
80
|
-
"@donotdev/ui": "^0.0.
|
|
80
|
+
"@donotdev/ui": "^0.0.8"
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"react": {
|
|
@@ -90,16 +90,16 @@
|
|
|
90
90
|
"i18n": {
|
|
91
91
|
"description": "i18n libraries - auto-installed as transitive deps",
|
|
92
92
|
"packages": {
|
|
93
|
-
"i18next": "^25.7.
|
|
93
|
+
"i18next": "^25.7.4",
|
|
94
94
|
"i18next-browser-languagedetector": "^8.2.0",
|
|
95
95
|
"i18next-http-backend": "^3.0.2",
|
|
96
|
-
"react-i18next": "^16.5.
|
|
96
|
+
"react-i18next": "^16.5.2"
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
99
|
"zustand": {
|
|
100
100
|
"description": "State management - consumers install for custom stores",
|
|
101
101
|
"packages": {
|
|
102
|
-
"zustand": "^5.0.
|
|
102
|
+
"zustand": "^5.0.10"
|
|
103
103
|
}
|
|
104
104
|
},
|
|
105
105
|
"react-query": {
|
|
@@ -172,7 +172,11 @@
|
|
|
172
172
|
},
|
|
173
173
|
"forms": {
|
|
174
174
|
"packages": {
|
|
175
|
-
"react-hook-form": "^7.
|
|
175
|
+
"react-hook-form": "^7.71.0"
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
"forms-resolvers": {
|
|
179
|
+
"packages": {
|
|
176
180
|
"@hookform/resolvers": "^5.2.2"
|
|
177
181
|
}
|
|
178
182
|
},
|
|
@@ -182,7 +186,9 @@
|
|
|
182
186
|
}
|
|
183
187
|
},
|
|
184
188
|
"markdown": {
|
|
189
|
+
"description": "Markdown parsing - marked for speed, html-react-parser for SSR",
|
|
185
190
|
"packages": {
|
|
191
|
+
"html-react-parser": "^5.2.11",
|
|
186
192
|
"marked": "^17.0.1"
|
|
187
193
|
}
|
|
188
194
|
},
|
|
@@ -196,6 +202,21 @@
|
|
|
196
202
|
"firebase": "^12.5.0"
|
|
197
203
|
}
|
|
198
204
|
},
|
|
205
|
+
"browser-image-compression": {
|
|
206
|
+
"description": "Image compression library for browser",
|
|
207
|
+
"packages": {
|
|
208
|
+
"browser-image-compression": "^2.0.2"
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
"tiptap": {
|
|
212
|
+
"description": "Rich text editor - optional peer dependency. Required: @tiptap/react, @tiptap/pm, @tiptap/starter-kit. Optional: @tiptap/extension-placeholder for placeholder text.",
|
|
213
|
+
"packages": {
|
|
214
|
+
"@tiptap/react": "^3.16.0",
|
|
215
|
+
"@tiptap/pm": "^3.16.0",
|
|
216
|
+
"@tiptap/starter-kit": "^3.16.0",
|
|
217
|
+
"@tiptap/extension-placeholder": "^3.16.0"
|
|
218
|
+
}
|
|
219
|
+
},
|
|
199
220
|
"stripe": {
|
|
200
221
|
"packages": {
|
|
201
222
|
"stripe": "^20.1.0"
|
|
@@ -214,8 +235,8 @@
|
|
|
214
235
|
},
|
|
215
236
|
"vercel-deps": {
|
|
216
237
|
"packages": {
|
|
217
|
-
"next": "^16.
|
|
218
|
-
"vercel": "^50.
|
|
238
|
+
"next": "^16.1.4",
|
|
239
|
+
"vercel": "^50.3.0"
|
|
219
240
|
}
|
|
220
241
|
},
|
|
221
242
|
"esbuild": {
|
|
@@ -262,7 +283,7 @@
|
|
|
262
283
|
"@vitejs/plugin-react": "^5.1.1",
|
|
263
284
|
"react-refresh": "^0.18.0",
|
|
264
285
|
"@vitejs/plugin-basic-ssl": "^2.1.0",
|
|
265
|
-
"vite-tsconfig-paths": "^6.0.
|
|
286
|
+
"vite-tsconfig-paths": "^6.0.4",
|
|
266
287
|
"@rollup/plugin-strip": "^3.0.4",
|
|
267
288
|
"rollup-plugin-visualizer": "^6.0.5",
|
|
268
289
|
"vite-plugin-pwa": "1.2.0"
|
|
@@ -270,12 +291,12 @@
|
|
|
270
291
|
},
|
|
271
292
|
"vite-deps-minimal": {
|
|
272
293
|
"packages": {
|
|
273
|
-
"vite-tsconfig-paths": "^6.0.
|
|
294
|
+
"vite-tsconfig-paths": "^6.0.4"
|
|
274
295
|
}
|
|
275
296
|
},
|
|
276
297
|
"next": {
|
|
277
298
|
"packages": {
|
|
278
|
-
"next": "^16.
|
|
299
|
+
"next": "^16.1.4"
|
|
279
300
|
}
|
|
280
301
|
},
|
|
281
302
|
"typescript": {
|
|
@@ -285,12 +306,12 @@
|
|
|
285
306
|
},
|
|
286
307
|
"monitoring": {
|
|
287
308
|
"packages": {
|
|
288
|
-
"@sentry/react": "^10.
|
|
309
|
+
"@sentry/react": "^10.33.0"
|
|
289
310
|
}
|
|
290
311
|
},
|
|
291
312
|
"monitoring-node": {
|
|
292
313
|
"packages": {
|
|
293
|
-
"@sentry/node": "^10.
|
|
314
|
+
"@sentry/node": "^10.33.0"
|
|
294
315
|
}
|
|
295
316
|
},
|
|
296
317
|
"postcss": {
|
|
@@ -308,26 +329,32 @@
|
|
|
308
329
|
},
|
|
309
330
|
"types": {
|
|
310
331
|
"packages": {
|
|
311
|
-
"@types/node": "^24.10.
|
|
312
|
-
"@types/react": "^19.2.
|
|
332
|
+
"@types/node": "^24.10.8",
|
|
333
|
+
"@types/react": "^19.2.8",
|
|
313
334
|
"@types/react-dom": "^19.2.3"
|
|
314
335
|
}
|
|
315
336
|
},
|
|
316
337
|
"root-consumer-tooling": {
|
|
317
338
|
"packages": {
|
|
318
|
-
"turbo": "^2.7.
|
|
339
|
+
"turbo": "^2.7.4",
|
|
319
340
|
"sharp": "^0.34.5"
|
|
320
341
|
}
|
|
321
342
|
},
|
|
322
343
|
"vercel": {
|
|
323
344
|
"packages": {
|
|
324
|
-
"vercel": "^50.
|
|
345
|
+
"vercel": "^50.3.0"
|
|
325
346
|
}
|
|
326
347
|
},
|
|
327
348
|
"@donotdev/cli": {
|
|
328
349
|
"description": "Cli package",
|
|
329
350
|
"packages": {
|
|
330
|
-
"@donotdev/cli": "^0.0.
|
|
351
|
+
"@donotdev/cli": "^0.0.6"
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
"react-easy-crop": {
|
|
355
|
+
"description": "Image cropping - auto-installed as transitive dep for crud",
|
|
356
|
+
"packages": {
|
|
357
|
+
"react-easy-crop": "^5.5.6"
|
|
331
358
|
}
|
|
332
359
|
}
|
|
333
360
|
},
|
|
@@ -383,8 +410,7 @@
|
|
|
383
410
|
],
|
|
384
411
|
"dependencies": [
|
|
385
412
|
"forms",
|
|
386
|
-
"seo"
|
|
387
|
-
"markdown"
|
|
413
|
+
"seo"
|
|
388
414
|
],
|
|
389
415
|
"peerDependenciesMeta": {
|
|
390
416
|
"@donotdev/crud": {
|
|
@@ -408,7 +434,12 @@
|
|
|
408
434
|
"@donotdev/crud": {
|
|
409
435
|
"dependencies": [
|
|
410
436
|
"@donotdev/components",
|
|
411
|
-
"@donotdev/core"
|
|
437
|
+
"@donotdev/core",
|
|
438
|
+
"react-easy-crop",
|
|
439
|
+
"forms-resolvers"
|
|
440
|
+
],
|
|
441
|
+
"devDependencies": [
|
|
442
|
+
"tiptap"
|
|
412
443
|
],
|
|
413
444
|
"peerDependencies": [
|
|
414
445
|
"@donotdev/firebase",
|
|
@@ -416,10 +447,19 @@
|
|
|
416
447
|
"forms",
|
|
417
448
|
"firebase",
|
|
418
449
|
"validation",
|
|
419
|
-
"lucide-react"
|
|
420
|
-
|
|
450
|
+
"lucide-react",
|
|
451
|
+
"tiptap"
|
|
452
|
+
],
|
|
453
|
+
"peerDependenciesMeta": {
|
|
454
|
+
"tiptap": {
|
|
455
|
+
"optional": true
|
|
456
|
+
}
|
|
457
|
+
}
|
|
421
458
|
},
|
|
422
459
|
"@donotdev/firebase": {
|
|
460
|
+
"dependencies": [
|
|
461
|
+
"browser-image-compression"
|
|
462
|
+
],
|
|
423
463
|
"peerDependencies": [
|
|
424
464
|
"firebase"
|
|
425
465
|
]
|
|
@@ -447,7 +487,8 @@
|
|
|
447
487
|
"react",
|
|
448
488
|
"validation",
|
|
449
489
|
"i18n",
|
|
450
|
-
"forms"
|
|
490
|
+
"forms",
|
|
491
|
+
"forms-resolvers"
|
|
451
492
|
]
|
|
452
493
|
},
|
|
453
494
|
"@donotdev/utils": {
|
|
@@ -524,6 +565,7 @@
|
|
|
524
565
|
"@donotdev/crud",
|
|
525
566
|
"@donotdev/ui",
|
|
526
567
|
"forms",
|
|
568
|
+
"forms-resolvers",
|
|
527
569
|
"markdown"
|
|
528
570
|
],
|
|
529
571
|
"peerDependencies": [
|
|
@@ -858,155 +858,6 @@ var init_cli_output = __esm({
|
|
|
858
858
|
}
|
|
859
859
|
});
|
|
860
860
|
|
|
861
|
-
// packages/core/config/constants.js
|
|
862
|
-
function getPatternsFor(type, repoRoot = null) {
|
|
863
|
-
const patterns = SCAN_PATTERNS[type];
|
|
864
|
-
if (!patterns) {
|
|
865
|
-
throw new Error(`Unknown pattern type: ${type}`);
|
|
866
|
-
}
|
|
867
|
-
if (repoRoot && patterns.framework) {
|
|
868
|
-
return {
|
|
869
|
-
...patterns,
|
|
870
|
-
framework: patterns.framework.map((pattern) => `${repoRoot}/${pattern}`)
|
|
871
|
-
};
|
|
872
|
-
}
|
|
873
|
-
return patterns;
|
|
874
|
-
}
|
|
875
|
-
function getGlobOptionsFor(type) {
|
|
876
|
-
return GLOB_OPTIONS[type] || GLOB_OPTIONS.base;
|
|
877
|
-
}
|
|
878
|
-
var I18N_PATHS, SCAN_PATTERNS, GLOB_OPTIONS;
|
|
879
|
-
var init_constants = __esm({
|
|
880
|
-
"packages/core/config/constants.js"() {
|
|
881
|
-
"use strict";
|
|
882
|
-
init_utils();
|
|
883
|
-
I18N_PATHS = {
|
|
884
|
-
// Monorepo source structure (locales at root, not in src/)
|
|
885
|
-
SOURCE_ROOT: "packages/core/i18n",
|
|
886
|
-
SOURCE_LOCALES: "packages/core/i18n/locales",
|
|
887
|
-
SOURCE_EAGER: "packages/core/i18n/locales/eager",
|
|
888
|
-
SOURCE_LAZY: "packages/core/i18n/locales/lazy",
|
|
889
|
-
// Published structure (same as source - no flattening needed)
|
|
890
|
-
PUBLISHED_ROOT: "i18n",
|
|
891
|
-
PUBLISHED_LOCALES: "i18n/locales",
|
|
892
|
-
PUBLISHED_EAGER: "i18n/locales/eager",
|
|
893
|
-
PUBLISHED_LAZY: "i18n/locales/lazy"
|
|
894
|
-
};
|
|
895
|
-
SCAN_PATTERNS = {
|
|
896
|
-
routes: {
|
|
897
|
-
consumer: ["src/**/*Page.tsx", "src/pages/**/*Page.tsx"],
|
|
898
|
-
exclude: [
|
|
899
|
-
"**/node_modules/**",
|
|
900
|
-
"**/dist/**",
|
|
901
|
-
"**/build/**",
|
|
902
|
-
"**/*.test.tsx",
|
|
903
|
-
"**/*.stories.tsx"
|
|
904
|
-
],
|
|
905
|
-
extensions: [".tsx"]
|
|
906
|
-
},
|
|
907
|
-
css: {
|
|
908
|
-
consumer: ["src/**/*.css"],
|
|
909
|
-
themes: ["src/**/*.css"],
|
|
910
|
-
extensions: [".css", ".scss", ".sass"],
|
|
911
|
-
framework: [
|
|
912
|
-
"packages/ui/src/**/*.css",
|
|
913
|
-
"packages/core/components/src/**/*.css",
|
|
914
|
-
"packages/core/templates/src/**/*.css"
|
|
915
|
-
]
|
|
916
|
-
},
|
|
917
|
-
i18n: {
|
|
918
|
-
eager: ["src/locales/*_*.json"],
|
|
919
|
-
lazy: ["src/**/locales/*_*.json", "!src/locales/*_*.json"],
|
|
920
|
-
framework: {
|
|
921
|
-
eager: [`${I18N_PATHS.SOURCE_EAGER}/*_*.json`],
|
|
922
|
-
lazy: [`${I18N_PATHS.SOURCE_LAZY}/*_*.json`]
|
|
923
|
-
},
|
|
924
|
-
extensions: [".json"]
|
|
925
|
-
},
|
|
926
|
-
assets: {
|
|
927
|
-
consumer: ["public/**/*"],
|
|
928
|
-
fallback: ["manifest.json"],
|
|
929
|
-
modern: [
|
|
930
|
-
"logo.svg",
|
|
931
|
-
"favicon.svg",
|
|
932
|
-
"apple-touch-icon.png",
|
|
933
|
-
"android-chrome-192x192.png",
|
|
934
|
-
"android-chrome-512x512.png"
|
|
935
|
-
],
|
|
936
|
-
patterns: [
|
|
937
|
-
"favicon.svg",
|
|
938
|
-
"favicon.ico",
|
|
939
|
-
"favicon-*.png",
|
|
940
|
-
"logo.svg",
|
|
941
|
-
"logo.png",
|
|
942
|
-
"logo.webp",
|
|
943
|
-
"logo.avif",
|
|
944
|
-
"apple-touch-icon*.png",
|
|
945
|
-
"android-chrome-*.png",
|
|
946
|
-
"manifest.json"
|
|
947
|
-
],
|
|
948
|
-
fonts: ["fonts/**/*.woff2", "fonts/**/*.woff", "fonts/**/*.ttf"],
|
|
949
|
-
framework: ["packages/ui/assets/**/*"]
|
|
950
|
-
},
|
|
951
|
-
pwa: {
|
|
952
|
-
consumer: [
|
|
953
|
-
"public/manifest.json",
|
|
954
|
-
"public/service-worker.js",
|
|
955
|
-
"public/sw.js",
|
|
956
|
-
"public/icon-192x192.png",
|
|
957
|
-
"public/icon-512x512.png",
|
|
958
|
-
"public/favicon.ico",
|
|
959
|
-
"public/favicon.svg",
|
|
960
|
-
"public/apple-touch-icon.png",
|
|
961
|
-
"public/logo.svg"
|
|
962
|
-
],
|
|
963
|
-
exclude: ["**/node_modules/**", "**/dist/**", "**/build/**"],
|
|
964
|
-
extensions: [".json", ".js", ".png", ".svg", ".ico"],
|
|
965
|
-
framework: ["packages/ui/assets/**/*"]
|
|
966
|
-
},
|
|
967
|
-
globalIgnore: [
|
|
968
|
-
"**/node_modules/**",
|
|
969
|
-
"**/dist/**",
|
|
970
|
-
"**/build/**",
|
|
971
|
-
"**/.git/**",
|
|
972
|
-
"**/coverage/**",
|
|
973
|
-
"**/test/**"
|
|
974
|
-
]
|
|
975
|
-
};
|
|
976
|
-
GLOB_OPTIONS = {
|
|
977
|
-
base: {
|
|
978
|
-
absolute: true,
|
|
979
|
-
onlyFiles: true,
|
|
980
|
-
ignore: SCAN_PATTERNS.globalIgnore
|
|
981
|
-
},
|
|
982
|
-
css: {
|
|
983
|
-
absolute: true,
|
|
984
|
-
onlyFiles: true,
|
|
985
|
-
ignore: [...SCAN_PATTERNS.globalIgnore, "**/*.test.css"]
|
|
986
|
-
},
|
|
987
|
-
routes: {
|
|
988
|
-
absolute: true,
|
|
989
|
-
onlyFiles: true,
|
|
990
|
-
ignore: [
|
|
991
|
-
...SCAN_PATTERNS.globalIgnore,
|
|
992
|
-
"**/*.test.tsx",
|
|
993
|
-
"**/*.stories.tsx"
|
|
994
|
-
]
|
|
995
|
-
},
|
|
996
|
-
i18n: {
|
|
997
|
-
absolute: true,
|
|
998
|
-
onlyFiles: true,
|
|
999
|
-
ignore: SCAN_PATTERNS.globalIgnore
|
|
1000
|
-
},
|
|
1001
|
-
assets: {
|
|
1002
|
-
absolute: true,
|
|
1003
|
-
onlyFiles: true,
|
|
1004
|
-
ignore: SCAN_PATTERNS.globalIgnore
|
|
1005
|
-
}
|
|
1006
|
-
};
|
|
1007
|
-
}
|
|
1008
|
-
});
|
|
1009
|
-
|
|
1010
861
|
// node_modules/.bun/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js
|
|
1011
862
|
var require_array = __commonJS({
|
|
1012
863
|
"node_modules/.bun/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js"(exports) {
|
|
@@ -6591,7 +6442,157 @@ var require_out4 = __commonJS({
|
|
|
6591
6442
|
}
|
|
6592
6443
|
});
|
|
6593
6444
|
|
|
6445
|
+
// packages/core/config/constants.js
|
|
6446
|
+
function getPatternsFor(type, repoRoot = null) {
|
|
6447
|
+
const patterns = SCAN_PATTERNS[type];
|
|
6448
|
+
if (!patterns) {
|
|
6449
|
+
throw new Error(`Unknown pattern type: ${type}`);
|
|
6450
|
+
}
|
|
6451
|
+
if (repoRoot && patterns.framework) {
|
|
6452
|
+
return {
|
|
6453
|
+
...patterns,
|
|
6454
|
+
framework: patterns.framework.map((pattern) => `${repoRoot}/${pattern}`)
|
|
6455
|
+
};
|
|
6456
|
+
}
|
|
6457
|
+
return patterns;
|
|
6458
|
+
}
|
|
6459
|
+
function getGlobOptionsFor(type) {
|
|
6460
|
+
return GLOB_OPTIONS[type] || GLOB_OPTIONS.base;
|
|
6461
|
+
}
|
|
6462
|
+
var I18N_PATHS, SCAN_PATTERNS, GLOB_OPTIONS;
|
|
6463
|
+
var init_constants = __esm({
|
|
6464
|
+
"packages/core/config/constants.js"() {
|
|
6465
|
+
"use strict";
|
|
6466
|
+
init_utils();
|
|
6467
|
+
I18N_PATHS = {
|
|
6468
|
+
// Monorepo source structure (locales at root, not in src/)
|
|
6469
|
+
SOURCE_ROOT: "packages/core/i18n",
|
|
6470
|
+
SOURCE_LOCALES: "packages/core/i18n/locales",
|
|
6471
|
+
SOURCE_EAGER: "packages/core/i18n/locales/eager",
|
|
6472
|
+
SOURCE_LAZY: "packages/core/i18n/locales/lazy",
|
|
6473
|
+
// Published structure (same as source - no flattening needed)
|
|
6474
|
+
PUBLISHED_ROOT: "i18n",
|
|
6475
|
+
PUBLISHED_LOCALES: "i18n/locales",
|
|
6476
|
+
PUBLISHED_EAGER: "i18n/locales/eager",
|
|
6477
|
+
PUBLISHED_LAZY: "i18n/locales/lazy"
|
|
6478
|
+
};
|
|
6479
|
+
SCAN_PATTERNS = {
|
|
6480
|
+
routes: {
|
|
6481
|
+
consumer: ["src/**/*Page.tsx", "src/pages/**/*Page.tsx"],
|
|
6482
|
+
exclude: [
|
|
6483
|
+
"**/node_modules/**",
|
|
6484
|
+
"**/dist/**",
|
|
6485
|
+
"**/build/**",
|
|
6486
|
+
"**/*.test.tsx",
|
|
6487
|
+
"**/*.stories.tsx"
|
|
6488
|
+
],
|
|
6489
|
+
extensions: [".tsx"]
|
|
6490
|
+
},
|
|
6491
|
+
css: {
|
|
6492
|
+
consumer: ["src/**/*.css"],
|
|
6493
|
+
themes: ["src/**/*.css"],
|
|
6494
|
+
extensions: [".css", ".scss", ".sass"],
|
|
6495
|
+
framework: [
|
|
6496
|
+
"packages/ui/src/**/*.css",
|
|
6497
|
+
"packages/core/components/src/**/*.css",
|
|
6498
|
+
"packages/core/templates/src/**/*.css"
|
|
6499
|
+
]
|
|
6500
|
+
},
|
|
6501
|
+
i18n: {
|
|
6502
|
+
eager: ["src/locales/*_*.json"],
|
|
6503
|
+
lazy: ["src/**/locales/*_*.json", "!src/locales/*_*.json"],
|
|
6504
|
+
framework: {
|
|
6505
|
+
eager: [`${I18N_PATHS.SOURCE_EAGER}/*_*.json`],
|
|
6506
|
+
lazy: [`${I18N_PATHS.SOURCE_LAZY}/*_*.json`]
|
|
6507
|
+
},
|
|
6508
|
+
extensions: [".json"]
|
|
6509
|
+
},
|
|
6510
|
+
assets: {
|
|
6511
|
+
consumer: ["public/**/*"],
|
|
6512
|
+
fallback: ["manifest.json"],
|
|
6513
|
+
modern: [
|
|
6514
|
+
"logo.svg",
|
|
6515
|
+
"favicon.svg",
|
|
6516
|
+
"apple-touch-icon.png",
|
|
6517
|
+
"android-chrome-192x192.png",
|
|
6518
|
+
"android-chrome-512x512.png"
|
|
6519
|
+
],
|
|
6520
|
+
patterns: [
|
|
6521
|
+
"favicon.svg",
|
|
6522
|
+
"favicon.ico",
|
|
6523
|
+
"favicon-*.png",
|
|
6524
|
+
"logo.svg",
|
|
6525
|
+
"logo.png",
|
|
6526
|
+
"logo.webp",
|
|
6527
|
+
"logo.avif",
|
|
6528
|
+
"apple-touch-icon*.png",
|
|
6529
|
+
"android-chrome-*.png",
|
|
6530
|
+
"manifest.json"
|
|
6531
|
+
],
|
|
6532
|
+
fonts: ["fonts/**/*.woff2", "fonts/**/*.woff", "fonts/**/*.ttf"],
|
|
6533
|
+
framework: ["packages/ui/assets/**/*"]
|
|
6534
|
+
},
|
|
6535
|
+
pwa: {
|
|
6536
|
+
consumer: [
|
|
6537
|
+
"public/manifest.json",
|
|
6538
|
+
"public/service-worker.js",
|
|
6539
|
+
"public/sw.js",
|
|
6540
|
+
"public/icon-192x192.png",
|
|
6541
|
+
"public/icon-512x512.png",
|
|
6542
|
+
"public/favicon.ico",
|
|
6543
|
+
"public/favicon.svg",
|
|
6544
|
+
"public/apple-touch-icon.png",
|
|
6545
|
+
"public/logo.svg"
|
|
6546
|
+
],
|
|
6547
|
+
exclude: ["**/node_modules/**", "**/dist/**", "**/build/**"],
|
|
6548
|
+
extensions: [".json", ".js", ".png", ".svg", ".ico"],
|
|
6549
|
+
framework: ["packages/ui/assets/**/*"]
|
|
6550
|
+
},
|
|
6551
|
+
globalIgnore: [
|
|
6552
|
+
"**/node_modules/**",
|
|
6553
|
+
"**/dist/**",
|
|
6554
|
+
"**/build/**",
|
|
6555
|
+
"**/.git/**",
|
|
6556
|
+
"**/coverage/**",
|
|
6557
|
+
"**/test/**"
|
|
6558
|
+
]
|
|
6559
|
+
};
|
|
6560
|
+
GLOB_OPTIONS = {
|
|
6561
|
+
base: {
|
|
6562
|
+
absolute: true,
|
|
6563
|
+
onlyFiles: true,
|
|
6564
|
+
ignore: SCAN_PATTERNS.globalIgnore
|
|
6565
|
+
},
|
|
6566
|
+
css: {
|
|
6567
|
+
absolute: true,
|
|
6568
|
+
onlyFiles: true,
|
|
6569
|
+
ignore: [...SCAN_PATTERNS.globalIgnore, "**/*.test.css"]
|
|
6570
|
+
},
|
|
6571
|
+
routes: {
|
|
6572
|
+
absolute: true,
|
|
6573
|
+
onlyFiles: true,
|
|
6574
|
+
ignore: [
|
|
6575
|
+
...SCAN_PATTERNS.globalIgnore,
|
|
6576
|
+
"**/*.test.tsx",
|
|
6577
|
+
"**/*.stories.tsx"
|
|
6578
|
+
]
|
|
6579
|
+
},
|
|
6580
|
+
i18n: {
|
|
6581
|
+
absolute: true,
|
|
6582
|
+
onlyFiles: true,
|
|
6583
|
+
ignore: SCAN_PATTERNS.globalIgnore
|
|
6584
|
+
},
|
|
6585
|
+
assets: {
|
|
6586
|
+
absolute: true,
|
|
6587
|
+
onlyFiles: true,
|
|
6588
|
+
ignore: SCAN_PATTERNS.globalIgnore
|
|
6589
|
+
}
|
|
6590
|
+
};
|
|
6591
|
+
}
|
|
6592
|
+
});
|
|
6593
|
+
|
|
6594
6594
|
// packages/core/config/utils/PathResolver.ts
|
|
6595
|
+
import * as fs from "node:fs";
|
|
6595
6596
|
import { createRequire } from "node:module";
|
|
6596
6597
|
import {
|
|
6597
6598
|
resolve,
|
|
@@ -6603,7 +6604,6 @@ import {
|
|
|
6603
6604
|
extname
|
|
6604
6605
|
} from "node:path";
|
|
6605
6606
|
import { fileURLToPath } from "node:url";
|
|
6606
|
-
import * as fs from "node:fs";
|
|
6607
6607
|
function safeExecuteAsync(fn, message) {
|
|
6608
6608
|
return fn().catch((error2) => {
|
|
6609
6609
|
throw new Error(
|
|
@@ -6616,8 +6616,8 @@ var init_PathResolver = __esm({
|
|
|
6616
6616
|
"packages/core/config/utils/PathResolver.ts"() {
|
|
6617
6617
|
"use strict";
|
|
6618
6618
|
init_utils();
|
|
6619
|
-
init_constants();
|
|
6620
6619
|
import_fast_glob = __toESM(require_out4(), 1);
|
|
6620
|
+
init_constants();
|
|
6621
6621
|
constants = {
|
|
6622
6622
|
getGlobOptionsFor: getGlobOptionsFor || void 0,
|
|
6623
6623
|
SCAN_PATTERNS: SCAN_PATTERNS || void 0,
|
|
@@ -7532,11 +7532,17 @@ var init_PathResolver = __esm({
|
|
|
7532
7532
|
/**
|
|
7533
7533
|
* Get path to empty.js module for optional dependency aliasing
|
|
7534
7534
|
* Used by Vite and Turbopack to alias missing optional deps
|
|
7535
|
-
* @returns
|
|
7535
|
+
* @param returnPackageSpecifier - If true, returns package specifier '@donotdev/core/empty' for Turbopack. If false, returns absolute path for Vite.
|
|
7536
|
+
* @returns Package specifier or absolute path to empty.js
|
|
7536
7537
|
*/
|
|
7537
|
-
getEmptyModulePath() {
|
|
7538
|
+
getEmptyModulePath(returnPackageSpecifier = false) {
|
|
7539
|
+
if (returnPackageSpecifier) {
|
|
7540
|
+
return "@donotdev/core/empty";
|
|
7541
|
+
}
|
|
7542
|
+
const resolved = this.resolvePackage("@donotdev/core/empty");
|
|
7543
|
+
if (resolved) return resolved;
|
|
7538
7544
|
const thisDir = dirname(fileURLToPath(import.meta.url));
|
|
7539
|
-
return this.normalizePath(join(thisDir, "../
|
|
7545
|
+
return this.normalizePath(join(thisDir, "../empty.js"));
|
|
7540
7546
|
}
|
|
7541
7547
|
// === PRIVATE METHODS ===
|
|
7542
7548
|
/**
|
|
@@ -7732,11 +7738,11 @@ var init_pathResolver = __esm({
|
|
|
7732
7738
|
});
|
|
7733
7739
|
|
|
7734
7740
|
// packages/tooling/src/bundler/utils.ts
|
|
7741
|
+
import { Buffer as Buffer2 } from "node:buffer";
|
|
7735
7742
|
import { createRequire as createRequire2 } from "node:module";
|
|
7736
|
-
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
7737
7743
|
import { dirname as dirname3, resolve as resolve3 } from "node:path";
|
|
7738
|
-
import { Buffer as Buffer2 } from "node:buffer";
|
|
7739
7744
|
import process from "node:process";
|
|
7745
|
+
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
7740
7746
|
var require2, __filename, __dirname;
|
|
7741
7747
|
var init_utils = __esm({
|
|
7742
7748
|
"packages/tooling/src/bundler/utils.ts"() {
|
|
@@ -7773,7 +7779,6 @@ import { spawnSync, execSync } from "node:child_process";
|
|
|
7773
7779
|
// packages/tooling/src/utils/app-selector.ts
|
|
7774
7780
|
init_utils();
|
|
7775
7781
|
init_dist2();
|
|
7776
|
-
init_cli_output();
|
|
7777
7782
|
|
|
7778
7783
|
// packages/tooling/src/utils/app-detection.ts
|
|
7779
7784
|
init_utils();
|
|
@@ -7861,6 +7866,7 @@ function analyzeApp(appPath, appName) {
|
|
|
7861
7866
|
}
|
|
7862
7867
|
|
|
7863
7868
|
// packages/tooling/src/utils/app-selector.ts
|
|
7869
|
+
init_cli_output();
|
|
7864
7870
|
async function selectApp(projectRoot, appName) {
|
|
7865
7871
|
const apps = detectApps(projectRoot);
|
|
7866
7872
|
if (apps.length === 0) {
|
|
@@ -7895,10 +7901,6 @@ async function selectApp(projectRoot, appName) {
|
|
|
7895
7901
|
return apps.find((a) => a.name === selected) || null;
|
|
7896
7902
|
}
|
|
7897
7903
|
|
|
7898
|
-
// packages/tooling/src/apps/build.ts
|
|
7899
|
-
init_errors();
|
|
7900
|
-
init_cli_output();
|
|
7901
|
-
|
|
7902
7904
|
// packages/tooling/src/utils/cli-input.ts
|
|
7903
7905
|
init_utils();
|
|
7904
7906
|
init_dist2();
|
|
@@ -7921,6 +7923,8 @@ async function askForSelection(message, choices, defaultValue = 0) {
|
|
|
7921
7923
|
}
|
|
7922
7924
|
|
|
7923
7925
|
// packages/tooling/src/apps/build.ts
|
|
7926
|
+
init_cli_output();
|
|
7927
|
+
init_errors();
|
|
7924
7928
|
init_pathResolver();
|
|
7925
7929
|
function validateFirebaseJson(appDir) {
|
|
7926
7930
|
const firebaseJsonPath = joinPath(appDir, "firebase.json");
|