@donotdev/cli 0.0.15 → 0.0.17
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 +67 -147
- package/dist/bin/commands/build.js +69 -52
- package/dist/bin/commands/bump.js +15 -14
- package/dist/bin/commands/create-app.js +258 -55
- package/dist/bin/commands/create-project.js +290 -161
- package/dist/bin/commands/deploy.js +146 -63
- package/dist/bin/commands/dev.js +43 -24
- package/dist/bin/commands/doctor.d.ts +6 -0
- package/dist/bin/commands/doctor.d.ts.map +1 -0
- package/dist/bin/commands/{lint.js → doctor.js} +1370 -146
- package/dist/bin/commands/doctor.js.map +1 -0
- package/dist/bin/commands/emu.js +295 -107
- package/dist/bin/commands/make-admin.js +77519 -11
- package/dist/bin/commands/preview.js +44 -25
- package/dist/bin/commands/setup.d.ts +6 -0
- package/dist/bin/commands/setup.d.ts.map +1 -0
- package/dist/bin/commands/setup.js +12123 -0
- package/dist/bin/commands/setup.js.map +1 -0
- package/dist/bin/commands/type-check.d.ts.map +1 -1
- package/dist/bin/commands/type-check.js +2022 -283
- package/dist/bin/commands/type-check.js.map +1 -1
- package/dist/bin/dndev.js +54 -58
- package/dist/bin/donotdev.js +54 -58
- package/dist/index.js +860 -459
- package/package.json +2 -2
- package/templates/app-expo/.env.example +2 -22
- package/templates/app-expo/README.md.example +1 -1
- package/templates/app-expo/assets/adaptive-icon.png +0 -0
- package/templates/app-expo/assets/favicon.png +0 -0
- package/templates/app-expo/assets/icon.png +0 -0
- package/templates/app-expo/assets/splash.png +0 -0
- package/templates/app-expo/src/config/app.ts.example +46 -0
- package/templates/app-expo/src/config/providers.ts.example +7 -0
- package/templates/app-next/src/config/providers.ts.example +7 -0
- package/templates/app-vite/src/config/providers.ts.example +7 -0
- package/templates/app-vite/src/pages/HomePage.tsx.example +1 -1
- package/templates/functions-firebase/README.md.example +1 -1
- package/templates/functions-firebase/functions-firebase/.env.example.example +1 -1
- package/templates/functions-firebase/functions-firebase/README.md.example +1 -1
- package/templates/functions-firebase/functions-firebase/tsconfig.json.example +1 -1
- package/templates/functions-firebase/functions.config.js.example +1 -1
- package/templates/functions-supabase/supabase/config.toml.example +59 -0
- package/templates/functions-supabase/supabase/functions/.env.example +13 -0
- package/templates/functions-supabase/supabase/functions/deno.json.example +8 -0
- 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 +8 -3
- package/templates/overlay-supabase/env.fragment.expo.example +8 -3
- package/templates/overlay-supabase/env.fragment.nextjs.example +8 -3
- 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 +15 -0
- package/templates/root-consumer/guides/dndev/AGENT_START_HERE.md.example +2 -2
- package/templates/root-consumer/guides/dndev/ENV_SETUP.md.example +12 -12
- package/templates/root-consumer/guides/dndev/INDEX.md.example +3 -3
- package/templates/root-consumer/guides/dndev/SETUP_APP_CONFIG.md.example +3 -3
- package/templates/root-consumer/guides/dndev/SETUP_AUTH.md.example +13 -6
- package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +149 -988
- package/templates/root-consumer/guides/dndev/SETUP_FIREBASE.md.example +72 -20
- package/templates/root-consumer/guides/dndev/SETUP_FUNCTIONS.md.example +6 -111
- package/templates/root-consumer/guides/dndev/SETUP_OAUTH_PROVIDERS.md.example +60 -0
- package/templates/root-consumer/guides/dndev/SETUP_STRIPE.md.example +62 -0
- package/templates/root-consumer/guides/dndev/SETUP_SUPABASE.md.example +124 -33
- package/templates/root-consumer/guides/dndev/SETUP_VERCEL.md.example +108 -91
- package/templates/root-consumer/guides/dndev/advanced/EMULATORS.md.example +2 -2
- package/templates/root-consumer/guides/wai-way/WAI_WAY_CLI.md.example +7 -8
- package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +9 -5
- package/dist/bin/commands/firebase-setup.d.ts +0 -6
- package/dist/bin/commands/firebase-setup.d.ts.map +0 -1
- package/dist/bin/commands/firebase-setup.js +0 -7
- package/dist/bin/commands/firebase-setup.js.map +0 -1
- package/dist/bin/commands/lint.d.ts +0 -11
- package/dist/bin/commands/lint.d.ts.map +0 -1
- package/dist/bin/commands/lint.js.map +0 -1
- package/dist/bin/commands/staging.d.ts +0 -11
- package/dist/bin/commands/staging.d.ts.map +0 -1
- package/dist/bin/commands/staging.js +0 -12
- package/dist/bin/commands/staging.js.map +0 -1
- package/dist/bin/commands/supabase-setup.d.ts +0 -6
- package/dist/bin/commands/supabase-setup.d.ts.map +0 -1
- package/dist/bin/commands/supabase-setup.js +0 -7
- package/dist/bin/commands/supabase-setup.js.map +0 -1
package/dependencies-matrix.json
CHANGED
|
@@ -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-
|
|
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,79 +17,79 @@
|
|
|
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.13"
|
|
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.9"
|
|
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.8"
|
|
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.19"
|
|
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.25"
|
|
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.16"
|
|
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.12"
|
|
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.12"
|
|
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.8"
|
|
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.11"
|
|
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.15"
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"@donotdev/expo": {
|
|
84
84
|
"description": "Expo/React Native components package",
|
|
85
85
|
"packages": {
|
|
86
|
-
"@donotdev/expo": "^0.0.
|
|
86
|
+
"@donotdev/expo": "^0.0.2"
|
|
87
87
|
}
|
|
88
88
|
},
|
|
89
89
|
"@donotdev/supabase": {
|
|
90
90
|
"description": "Supabase provider package",
|
|
91
91
|
"packages": {
|
|
92
|
-
"@donotdev/supabase": "^0.0.
|
|
92
|
+
"@donotdev/supabase": "^0.0.2"
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
"supabase-js": {
|
|
@@ -125,6 +125,12 @@
|
|
|
125
125
|
"react-dom": "^19.2.4"
|
|
126
126
|
}
|
|
127
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
|
+
},
|
|
128
134
|
"i18n": {
|
|
129
135
|
"description": "i18n libraries - auto-installed as transitive deps",
|
|
130
136
|
"packages": {
|
|
@@ -420,13 +426,13 @@
|
|
|
420
426
|
"@donotdev/cli": {
|
|
421
427
|
"description": "Cli package",
|
|
422
428
|
"packages": {
|
|
423
|
-
"@donotdev/cli": "^0.0.
|
|
429
|
+
"@donotdev/cli": "^0.0.16"
|
|
424
430
|
}
|
|
425
431
|
},
|
|
426
432
|
"@donotdev/mcp-server": {
|
|
427
433
|
"description": "MCP server for component type lookups",
|
|
428
434
|
"packages": {
|
|
429
|
-
"@donotdev/mcp-server": "^0.0.
|
|
435
|
+
"@donotdev/mcp-server": "^0.0.6"
|
|
430
436
|
}
|
|
431
437
|
},
|
|
432
438
|
"mcp-sdk": {
|
|
@@ -448,6 +454,12 @@
|
|
|
448
454
|
"@dnd-kit/sortable": "^10.0.0",
|
|
449
455
|
"@dnd-kit/utilities": "^3.2.2"
|
|
450
456
|
}
|
|
457
|
+
},
|
|
458
|
+
"@donotdev/security": {
|
|
459
|
+
"description": "Security package",
|
|
460
|
+
"packages": {
|
|
461
|
+
"@donotdev/security": "^0.0.2"
|
|
462
|
+
}
|
|
451
463
|
}
|
|
452
464
|
},
|
|
453
465
|
"overrides": {
|
|
@@ -463,29 +475,12 @@
|
|
|
463
475
|
"lucide-react",
|
|
464
476
|
"monitoring"
|
|
465
477
|
],
|
|
466
|
-
"dependencies": [
|
|
467
|
-
|
|
468
|
-
"react-query",
|
|
469
|
-
"fast-glob",
|
|
470
|
-
"cli-prompts"
|
|
471
|
-
],
|
|
472
|
-
"devDependencies": [
|
|
473
|
-
"vite",
|
|
474
|
-
"next",
|
|
475
|
-
"typescript"
|
|
476
|
-
]
|
|
478
|
+
"dependencies": ["i18n", "react-query", "fast-glob", "cli-prompts"],
|
|
479
|
+
"devDependencies": ["vite", "next", "typescript"]
|
|
477
480
|
},
|
|
478
481
|
"@donotdev/components": {
|
|
479
|
-
"dependencies": [
|
|
480
|
-
|
|
481
|
-
"styling",
|
|
482
|
-
"react-day-picker"
|
|
483
|
-
],
|
|
484
|
-
"peerDependencies": [
|
|
485
|
-
"react",
|
|
486
|
-
"shiki",
|
|
487
|
-
"lucide-react"
|
|
488
|
-
],
|
|
482
|
+
"dependencies": ["radix", "styling", "react-day-picker"],
|
|
483
|
+
"peerDependencies": ["react", "shiki", "lucide-react"],
|
|
489
484
|
"peerDependenciesMeta": {
|
|
490
485
|
"shiki": {
|
|
491
486
|
"optional": true
|
|
@@ -501,11 +496,7 @@
|
|
|
501
496
|
"routing",
|
|
502
497
|
"validation"
|
|
503
498
|
],
|
|
504
|
-
"dependencies": [
|
|
505
|
-
"fontsource-themes",
|
|
506
|
-
"forms",
|
|
507
|
-
"seo"
|
|
508
|
-
],
|
|
499
|
+
"dependencies": ["fontsource-themes", "forms", "seo"],
|
|
509
500
|
"peerDependenciesMeta": {
|
|
510
501
|
"@donotdev/crud": {
|
|
511
502
|
"optional": true
|
|
@@ -513,17 +504,10 @@
|
|
|
513
504
|
}
|
|
514
505
|
},
|
|
515
506
|
"@donotdev/auth": {
|
|
516
|
-
"peerDependencies": [
|
|
517
|
-
"react",
|
|
518
|
-
"firebase"
|
|
519
|
-
]
|
|
507
|
+
"peerDependencies": ["react", "firebase"]
|
|
520
508
|
},
|
|
521
509
|
"@donotdev/billing": {
|
|
522
|
-
"peerDependencies": [
|
|
523
|
-
"react",
|
|
524
|
-
"lucide-react",
|
|
525
|
-
"stripe"
|
|
526
|
-
]
|
|
510
|
+
"peerDependencies": ["react", "lucide-react", "stripe"]
|
|
527
511
|
},
|
|
528
512
|
"@donotdev/crud": {
|
|
529
513
|
"dependencies": [
|
|
@@ -533,9 +517,7 @@
|
|
|
533
517
|
"@dnd-kit",
|
|
534
518
|
"forms-resolvers"
|
|
535
519
|
],
|
|
536
|
-
"devDependencies": [
|
|
537
|
-
"tiptap"
|
|
538
|
-
],
|
|
520
|
+
"devDependencies": ["tiptap"],
|
|
539
521
|
"peerDependencies": [
|
|
540
522
|
"@donotdev/firebase",
|
|
541
523
|
"react",
|
|
@@ -558,38 +540,22 @@
|
|
|
558
540
|
}
|
|
559
541
|
},
|
|
560
542
|
"@donotdev/firebase": {
|
|
561
|
-
"dependencies": [
|
|
562
|
-
|
|
563
|
-
],
|
|
564
|
-
"peerDependencies": [
|
|
565
|
-
"firebase"
|
|
566
|
-
]
|
|
543
|
+
"dependencies": ["browser-image-compression"],
|
|
544
|
+
"peerDependencies": ["firebase"]
|
|
567
545
|
},
|
|
568
546
|
"@donotdev/supabase": {
|
|
569
|
-
"dependencies": [
|
|
570
|
-
|
|
571
|
-
],
|
|
572
|
-
"peerDependencies": [
|
|
573
|
-
"supabase-js"
|
|
574
|
-
]
|
|
547
|
+
"dependencies": ["validation"],
|
|
548
|
+
"peerDependencies": ["supabase-js"]
|
|
575
549
|
},
|
|
576
550
|
"@donotdev/i18n": {
|
|
577
|
-
"dependencies": [
|
|
578
|
-
|
|
579
|
-
],
|
|
580
|
-
"peerDependencies": [
|
|
581
|
-
"lucide-react"
|
|
582
|
-
]
|
|
551
|
+
"dependencies": ["i18n"],
|
|
552
|
+
"peerDependencies": ["lucide-react"]
|
|
583
553
|
},
|
|
584
554
|
"@donotdev/stores": {
|
|
585
|
-
"dependencies": [
|
|
586
|
-
"zustand"
|
|
587
|
-
]
|
|
555
|
+
"dependencies": ["zustand"]
|
|
588
556
|
},
|
|
589
557
|
"@donotdev/schemas": {
|
|
590
|
-
"dependencies": [
|
|
591
|
-
"validation"
|
|
592
|
-
]
|
|
558
|
+
"dependencies": ["validation"]
|
|
593
559
|
},
|
|
594
560
|
"@donotdev/types": {
|
|
595
561
|
"devDependencies": [
|
|
@@ -601,34 +567,18 @@
|
|
|
601
567
|
]
|
|
602
568
|
},
|
|
603
569
|
"@donotdev/utils": {
|
|
604
|
-
"dependencies": [
|
|
605
|
-
|
|
606
|
-
]
|
|
607
|
-
"peerDependencies": [
|
|
608
|
-
"monitoring"
|
|
609
|
-
],
|
|
610
|
-
"devDependencies": [
|
|
611
|
-
"validation",
|
|
612
|
-
"firebase",
|
|
613
|
-
"i18n"
|
|
614
|
-
]
|
|
570
|
+
"dependencies": ["zustand"],
|
|
571
|
+
"peerDependencies": ["monitoring"],
|
|
572
|
+
"devDependencies": ["validation", "firebase", "i18n"]
|
|
615
573
|
},
|
|
616
574
|
"@donotdev/hooks": {
|
|
617
|
-
"dependencies": [
|
|
618
|
-
"react-query"
|
|
619
|
-
]
|
|
575
|
+
"dependencies": ["react-query"]
|
|
620
576
|
},
|
|
621
577
|
"@donotdev/cli": {
|
|
622
|
-
"dependencies": [
|
|
623
|
-
"cli-prompts",
|
|
624
|
-
"cli-commander",
|
|
625
|
-
"fast-glob"
|
|
626
|
-
]
|
|
578
|
+
"dependencies": ["cli-prompts", "cli-commander", "fast-glob"]
|
|
627
579
|
},
|
|
628
580
|
"@donotdev/mcp-server": {
|
|
629
|
-
"dependencies": [
|
|
630
|
-
"mcp-sdk"
|
|
631
|
-
]
|
|
581
|
+
"dependencies": ["mcp-sdk"]
|
|
632
582
|
},
|
|
633
583
|
"@donotdev/tooling": {
|
|
634
584
|
"dependencies": [
|
|
@@ -640,19 +590,13 @@
|
|
|
640
590
|
"supabase-cli",
|
|
641
591
|
"supabase-js"
|
|
642
592
|
],
|
|
643
|
-
"devDependencies": [
|
|
644
|
-
"yaml"
|
|
645
|
-
]
|
|
593
|
+
"devDependencies": ["yaml"]
|
|
646
594
|
},
|
|
647
595
|
"@donotdev/oauth": {
|
|
648
|
-
"peerDependencies": [
|
|
649
|
-
"react"
|
|
650
|
-
]
|
|
596
|
+
"peerDependencies": ["react"]
|
|
651
597
|
},
|
|
652
598
|
"@donotdev/functions": {
|
|
653
|
-
"dependencies": [
|
|
654
|
-
"@donotdev/core"
|
|
655
|
-
],
|
|
599
|
+
"dependencies": ["@donotdev/core"],
|
|
656
600
|
"peerDependencies": [
|
|
657
601
|
"firebase-functions",
|
|
658
602
|
"firebase-admin",
|
|
@@ -663,14 +607,14 @@
|
|
|
663
607
|
]
|
|
664
608
|
},
|
|
665
609
|
"@donotdev/adv-comps": {
|
|
666
|
-
"peerDependencies": [
|
|
667
|
-
"react",
|
|
668
|
-
"shiki"
|
|
669
|
-
],
|
|
610
|
+
"peerDependencies": ["react", "shiki", "lucide-react"],
|
|
670
611
|
"dependencies": [],
|
|
671
612
|
"peerDependenciesMeta": {
|
|
672
613
|
"shiki": {
|
|
673
614
|
"optional": true
|
|
615
|
+
},
|
|
616
|
+
"lucide-react": {
|
|
617
|
+
"optional": true
|
|
674
618
|
}
|
|
675
619
|
}
|
|
676
620
|
},
|
|
@@ -836,9 +780,7 @@
|
|
|
836
780
|
"validation",
|
|
837
781
|
"lucide-react"
|
|
838
782
|
],
|
|
839
|
-
"devDependencies": [
|
|
840
|
-
"root-consumer-tooling"
|
|
841
|
-
],
|
|
783
|
+
"devDependencies": ["root-consumer-tooling"],
|
|
842
784
|
"conditional": {
|
|
843
785
|
"provider-firebase": "platform===firebase",
|
|
844
786
|
"provider-supabase": "platform===supabase"
|
|
@@ -895,12 +837,7 @@
|
|
|
895
837
|
"i18n",
|
|
896
838
|
"react-query"
|
|
897
839
|
],
|
|
898
|
-
"devDependencies": [
|
|
899
|
-
"next",
|
|
900
|
-
"typescript",
|
|
901
|
-
"types",
|
|
902
|
-
"postcss"
|
|
903
|
-
],
|
|
840
|
+
"devDependencies": ["next", "typescript", "types", "postcss"],
|
|
904
841
|
"conditional": {
|
|
905
842
|
"provider-firebase": "platform===firebase",
|
|
906
843
|
"provider-supabase": "platform===supabase"
|
|
@@ -915,17 +852,12 @@
|
|
|
915
852
|
"@donotdev/core",
|
|
916
853
|
"@donotdev/crud",
|
|
917
854
|
"@donotdev/oauth",
|
|
918
|
-
"react",
|
|
855
|
+
"react-native-only",
|
|
919
856
|
"zustand",
|
|
920
857
|
"validation",
|
|
921
858
|
"react-query"
|
|
922
859
|
],
|
|
923
|
-
"devDependencies": [
|
|
924
|
-
"expo",
|
|
925
|
-
"typescript",
|
|
926
|
-
"types-expo",
|
|
927
|
-
"react-native"
|
|
928
|
-
],
|
|
860
|
+
"devDependencies": ["expo", "typescript", "types-expo", "react-native"],
|
|
929
861
|
"conditional": {
|
|
930
862
|
"provider-firebase": "platform===firebase",
|
|
931
863
|
"provider-supabase": "platform===supabase"
|
|
@@ -940,17 +872,12 @@
|
|
|
940
872
|
"@donotdev/core",
|
|
941
873
|
"@donotdev/crud",
|
|
942
874
|
"@donotdev/oauth",
|
|
943
|
-
"react",
|
|
875
|
+
"react-native-only",
|
|
944
876
|
"zustand",
|
|
945
877
|
"validation",
|
|
946
878
|
"react-query"
|
|
947
879
|
],
|
|
948
|
-
"devDependencies": [
|
|
949
|
-
"expo",
|
|
950
|
-
"typescript",
|
|
951
|
-
"types-expo",
|
|
952
|
-
"react-native"
|
|
953
|
-
],
|
|
880
|
+
"devDependencies": ["expo", "typescript", "types-expo", "react-native"],
|
|
954
881
|
"conditional": {
|
|
955
882
|
"provider-firebase": "platform===firebase",
|
|
956
883
|
"provider-supabase": "platform===supabase"
|
|
@@ -977,19 +904,12 @@
|
|
|
977
904
|
"monitoring-node",
|
|
978
905
|
"stripe"
|
|
979
906
|
],
|
|
980
|
-
"devDependencies": [
|
|
981
|
-
"vercel"
|
|
982
|
-
]
|
|
907
|
+
"devDependencies": ["vercel"]
|
|
983
908
|
},
|
|
984
909
|
"entities": {
|
|
985
910
|
"description": "Entities workspace package",
|
|
986
|
-
"dependencies": [
|
|
987
|
-
|
|
988
|
-
],
|
|
989
|
-
"devDependencies": [
|
|
990
|
-
"eslint",
|
|
991
|
-
"typescript"
|
|
992
|
-
]
|
|
911
|
+
"dependencies": ["validation"],
|
|
912
|
+
"devDependencies": ["eslint", "typescript"]
|
|
993
913
|
},
|
|
994
914
|
"demo": {
|
|
995
915
|
"description": "Demo app template (components only)",
|
|
@@ -1025,4 +945,4 @@
|
|
|
1025
945
|
"rule": "If imported in code that gets bundled → dependencies. If externalized in esbuild → devDependencies. If optional/consumer-provided → peerDependencies"
|
|
1026
946
|
}
|
|
1027
947
|
}
|
|
1028
|
-
}
|
|
948
|
+
}
|
|
@@ -7852,53 +7852,7 @@ var init_utils = __esm({
|
|
|
7852
7852
|
}
|
|
7853
7853
|
});
|
|
7854
7854
|
|
|
7855
|
-
// packages/tooling/src/utils/cli-input.ts
|
|
7856
|
-
async function askForSelection(message, choices, defaultValue = 0) {
|
|
7857
|
-
const options = choices.map((choice) => ({
|
|
7858
|
-
value: choice.value,
|
|
7859
|
-
label: choice.title,
|
|
7860
|
-
hint: choice.hint
|
|
7861
|
-
}));
|
|
7862
|
-
const result = await ve({
|
|
7863
|
-
message,
|
|
7864
|
-
options,
|
|
7865
|
-
initialValue: choices[defaultValue]?.value
|
|
7866
|
-
});
|
|
7867
|
-
if (pD(result)) {
|
|
7868
|
-
xe("Operation cancelled.");
|
|
7869
|
-
process.exit(0);
|
|
7870
|
-
}
|
|
7871
|
-
return result;
|
|
7872
|
-
}
|
|
7873
|
-
var init_cli_input = __esm({
|
|
7874
|
-
"packages/tooling/src/utils/cli-input.ts"() {
|
|
7875
|
-
"use strict";
|
|
7876
|
-
init_utils();
|
|
7877
|
-
init_dist2();
|
|
7878
|
-
}
|
|
7879
|
-
});
|
|
7880
|
-
|
|
7881
|
-
// packages/cli/src/bin/commands/build.ts
|
|
7882
|
-
init_utils();
|
|
7883
|
-
|
|
7884
|
-
// packages/tooling/src/index.ts
|
|
7885
|
-
init_utils();
|
|
7886
|
-
|
|
7887
|
-
// packages/tooling/src/cli/index.ts
|
|
7888
|
-
init_utils();
|
|
7889
|
-
|
|
7890
|
-
// packages/tooling/src/apps/build.ts
|
|
7891
|
-
init_utils();
|
|
7892
|
-
import { spawnSync, execSync } from "node:child_process";
|
|
7893
|
-
|
|
7894
|
-
// packages/tooling/src/utils/app-selector.ts
|
|
7895
|
-
init_utils();
|
|
7896
|
-
init_dist2();
|
|
7897
|
-
|
|
7898
7855
|
// packages/tooling/src/utils/app-detection.ts
|
|
7899
|
-
init_utils();
|
|
7900
|
-
init_pathResolver();
|
|
7901
|
-
init_typed_file_operations();
|
|
7902
7856
|
function detectApps(projectRoot) {
|
|
7903
7857
|
const apps = [];
|
|
7904
7858
|
const appsDir = joinPath(projectRoot, "apps");
|
|
@@ -7958,12 +7912,21 @@ function analyzeApp(appPath, appName) {
|
|
|
7958
7912
|
const functionsStat = statSync2(functionsPath);
|
|
7959
7913
|
const hasFunctions = pathExists(functionsPath) && (functionsStat?.isDirectory() ?? false);
|
|
7960
7914
|
let platform;
|
|
7961
|
-
|
|
7962
|
-
|
|
7915
|
+
const firebaseJsonInFunctions = hasFunctions && pathExists(joinPath(functionsPath, "firebase.json"));
|
|
7916
|
+
const firebaseJsonInApp = pathExists(joinPath(appPath, "firebase.json"));
|
|
7917
|
+
if (firebaseJsonInFunctions || firebaseJsonInApp) {
|
|
7918
|
+
platform = "firebase";
|
|
7919
|
+
}
|
|
7920
|
+
if (!platform) {
|
|
7921
|
+
const supabaseConfigPath = joinPath(appPath, "supabase", "config.toml");
|
|
7922
|
+
const hasSupabaseDep = !!(packageJson.dependencies?.["@donotdev/supabase"] || packageJson.dependencies?.["@supabase/supabase-js"]);
|
|
7923
|
+
if (pathExists(supabaseConfigPath) || hasSupabaseDep) {
|
|
7924
|
+
platform = "supabase";
|
|
7925
|
+
}
|
|
7926
|
+
}
|
|
7927
|
+
if (!platform) {
|
|
7963
7928
|
const vercelJsonPath = joinPath(appPath, "vercel.json");
|
|
7964
|
-
if (pathExists(
|
|
7965
|
-
platform = "firebase";
|
|
7966
|
-
} else if (pathExists(vercelJsonPath)) {
|
|
7929
|
+
if (pathExists(vercelJsonPath)) {
|
|
7967
7930
|
platform = "vercel";
|
|
7968
7931
|
}
|
|
7969
7932
|
}
|
|
@@ -7978,9 +7941,16 @@ function analyzeApp(appPath, appName) {
|
|
|
7978
7941
|
platform
|
|
7979
7942
|
};
|
|
7980
7943
|
}
|
|
7944
|
+
var init_app_detection = __esm({
|
|
7945
|
+
"packages/tooling/src/utils/app-detection.ts"() {
|
|
7946
|
+
"use strict";
|
|
7947
|
+
init_utils();
|
|
7948
|
+
init_pathResolver();
|
|
7949
|
+
init_typed_file_operations();
|
|
7950
|
+
}
|
|
7951
|
+
});
|
|
7981
7952
|
|
|
7982
7953
|
// packages/tooling/src/utils/app-selector.ts
|
|
7983
|
-
init_cli_output();
|
|
7984
7954
|
async function selectApp(projectRoot, appName) {
|
|
7985
7955
|
const apps = detectApps(projectRoot);
|
|
7986
7956
|
if (apps.length === 0) {
|
|
@@ -8014,13 +7984,60 @@ async function selectApp(projectRoot, appName) {
|
|
|
8014
7984
|
}
|
|
8015
7985
|
return apps.find((a) => a.name === selected) || null;
|
|
8016
7986
|
}
|
|
7987
|
+
var init_app_selector = __esm({
|
|
7988
|
+
"packages/tooling/src/utils/app-selector.ts"() {
|
|
7989
|
+
"use strict";
|
|
7990
|
+
init_utils();
|
|
7991
|
+
init_dist2();
|
|
7992
|
+
init_app_detection();
|
|
7993
|
+
init_cli_output();
|
|
7994
|
+
}
|
|
7995
|
+
});
|
|
7996
|
+
|
|
7997
|
+
// packages/tooling/src/utils/cli-input.ts
|
|
7998
|
+
async function askForSelection(message, choices, defaultValue = 0) {
|
|
7999
|
+
const options = choices.map((choice) => ({
|
|
8000
|
+
value: choice.value,
|
|
8001
|
+
label: choice.title,
|
|
8002
|
+
hint: choice.hint
|
|
8003
|
+
}));
|
|
8004
|
+
const result = await ve({
|
|
8005
|
+
message,
|
|
8006
|
+
options,
|
|
8007
|
+
initialValue: choices[defaultValue]?.value
|
|
8008
|
+
});
|
|
8009
|
+
if (pD(result)) {
|
|
8010
|
+
xe("Operation cancelled.");
|
|
8011
|
+
process.exit(0);
|
|
8012
|
+
}
|
|
8013
|
+
return result;
|
|
8014
|
+
}
|
|
8015
|
+
var init_cli_input = __esm({
|
|
8016
|
+
"packages/tooling/src/utils/cli-input.ts"() {
|
|
8017
|
+
"use strict";
|
|
8018
|
+
init_utils();
|
|
8019
|
+
init_dist2();
|
|
8020
|
+
}
|
|
8021
|
+
});
|
|
8022
|
+
|
|
8023
|
+
// packages/cli/src/bin/commands/build.ts
|
|
8024
|
+
init_utils();
|
|
8025
|
+
|
|
8026
|
+
// packages/tooling/src/index.ts
|
|
8027
|
+
init_utils();
|
|
8028
|
+
|
|
8029
|
+
// packages/tooling/src/cli/index.ts
|
|
8030
|
+
init_utils();
|
|
8017
8031
|
|
|
8018
8032
|
// packages/tooling/src/apps/build.ts
|
|
8033
|
+
init_utils();
|
|
8034
|
+
init_app_selector();
|
|
8019
8035
|
init_cli_input();
|
|
8020
8036
|
init_cli_output();
|
|
8021
8037
|
init_errors();
|
|
8022
8038
|
init_pathResolver();
|
|
8023
8039
|
init_typed_file_operations();
|
|
8040
|
+
import { spawnSync, execSync } from "node:child_process";
|
|
8024
8041
|
function validateFirebaseJson(appDir) {
|
|
8025
8042
|
const firebaseJsonPath = joinPath(appDir, "firebase.json");
|
|
8026
8043
|
if (!pathExists(firebaseJsonPath)) {
|
|
@@ -7857,14 +7857,13 @@ function globSync(pattern, options = {}) {
|
|
|
7857
7857
|
});
|
|
7858
7858
|
return results.map((p2) => pathResolverInstance.normalizePath(p2));
|
|
7859
7859
|
}
|
|
7860
|
-
var pathResolverInstance,
|
|
7860
|
+
var pathResolverInstance, getAppRoot, resolveFrameworkPackage, normalizePath, pathExists, read, readSync, write, writeSync, ensureDir, getRelativePathBetween, getDirname, joinPath;
|
|
7861
7861
|
var init_pathResolver = __esm({
|
|
7862
7862
|
"packages/tooling/src/utils/pathResolver.ts"() {
|
|
7863
7863
|
"use strict";
|
|
7864
7864
|
init_utils();
|
|
7865
7865
|
init_PathResolver();
|
|
7866
7866
|
pathResolverInstance = PathResolver.getInstance({ debug: false });
|
|
7867
|
-
getRepoRoot = () => pathResolverInstance.getRepoRoot();
|
|
7868
7867
|
getAppRoot = () => pathResolverInstance.getAppRoot();
|
|
7869
7868
|
resolveFrameworkPackage = (name, from) => pathResolverInstance.resolveFrameworkPackage(name, from || null);
|
|
7870
7869
|
normalizePath = (...pathSegments) => {
|
|
@@ -7977,15 +7976,14 @@ function getMatrixPath(mode) {
|
|
|
7977
7976
|
}
|
|
7978
7977
|
const executionMode = mode || detectExecutionMode();
|
|
7979
7978
|
if (executionMode === "development") {
|
|
7980
|
-
const
|
|
7981
|
-
|
|
7982
|
-
|
|
7983
|
-
|
|
7984
|
-
|
|
7985
|
-
|
|
7986
|
-
|
|
7987
|
-
|
|
7988
|
-
}
|
|
7979
|
+
const templatesRoot = getTemplatesRoot();
|
|
7980
|
+
const devPath = normalizePath(
|
|
7981
|
+
templatesRoot,
|
|
7982
|
+
"..",
|
|
7983
|
+
"dependencies-matrix.json"
|
|
7984
|
+
);
|
|
7985
|
+
if (pathExists(devPath)) {
|
|
7986
|
+
return devPath;
|
|
7989
7987
|
}
|
|
7990
7988
|
}
|
|
7991
7989
|
return null;
|
|
@@ -8000,8 +7998,8 @@ function getCliVersion(mode) {
|
|
|
8000
7998
|
}
|
|
8001
7999
|
const executionMode = mode || detectExecutionMode();
|
|
8002
8000
|
if (executionMode === "development") {
|
|
8003
|
-
const
|
|
8004
|
-
const cliPackageJson =
|
|
8001
|
+
const templatesRoot = getTemplatesRoot();
|
|
8002
|
+
const cliPackageJson = normalizePath(templatesRoot, "..", "package.json");
|
|
8005
8003
|
if (pathExists(cliPackageJson)) {
|
|
8006
8004
|
const pkg = readSync(cliPackageJson, { format: "json" });
|
|
8007
8005
|
return String(pkg?.version || "0.0.0");
|
|
@@ -8195,7 +8193,10 @@ async function syncFile(sourcePath, destPath, preserveIfExists, appRoot) {
|
|
|
8195
8193
|
}
|
|
8196
8194
|
}
|
|
8197
8195
|
await ensureDir(getDirname(destPathWithoutExample));
|
|
8198
|
-
await write(destPathWithoutExample, content, {
|
|
8196
|
+
await write(destPathWithoutExample, content, {
|
|
8197
|
+
format: "text",
|
|
8198
|
+
overwrite: true
|
|
8199
|
+
});
|
|
8199
8200
|
return true;
|
|
8200
8201
|
}
|
|
8201
8202
|
async function syncTemplates(sourceRoot, destRoot, dryRun) {
|