create-meridian-app 0.1.21 → 0.1.23
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/dist/{chunk-Y6GFRW6X.js → chunk-EE7FQVVB.js} +56 -1
- package/dist/cli.js +7 -5
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -17,7 +17,7 @@ function renderPackageJson(vars) {
|
|
|
17
17
|
scripts: {
|
|
18
18
|
dev: "meridian dev",
|
|
19
19
|
build: "meridian build",
|
|
20
|
-
start: "
|
|
20
|
+
start: "meridian dev",
|
|
21
21
|
"db:migrate": "meridian db:migrate",
|
|
22
22
|
"db:generate": "meridian db:generate",
|
|
23
23
|
...vars.seedDemo ? { "seed:demo": "node --import tsx/esm src/scripts/seed-demo.ts" } : {}
|
|
@@ -266,6 +266,7 @@ DATABASE_URL=${vars.databaseUrl}
|
|
|
266
266
|
PORT=${vars.httpPort}
|
|
267
267
|
JWT_SECRET=changeme-replace-in-production
|
|
268
268
|
${vars.dashboard ? `DASHBOARD_PORT=${vars.dashboardPort}
|
|
269
|
+
# API_URL=https://api.yourdomain.com # set this in production
|
|
269
270
|
` : ""}${optionalEnv}`.trimEnd() + "\n";
|
|
270
271
|
}
|
|
271
272
|
function renderReadme(vars) {
|
|
@@ -573,6 +574,7 @@ async function main() {
|
|
|
573
574
|
await seedStatuses(siteProject.id)
|
|
574
575
|
const siteSprint = await sprintService.createSprint({
|
|
575
576
|
project_id: siteProject.id,
|
|
577
|
+
workspace_id: acme.id,
|
|
576
578
|
name: "Sprint 1",
|
|
577
579
|
start_date: now,
|
|
578
580
|
end_date: future(14),
|
|
@@ -581,6 +583,7 @@ async function main() {
|
|
|
581
583
|
|
|
582
584
|
const siteHero = await issueService.createIssueInProject({
|
|
583
585
|
project_id: siteProject.id,
|
|
586
|
+
workspace_id: acme.id,
|
|
584
587
|
title: "Redesign homepage hero section",
|
|
585
588
|
type: "feature",
|
|
586
589
|
priority: "high",
|
|
@@ -589,6 +592,7 @@ async function main() {
|
|
|
589
592
|
})
|
|
590
593
|
await issueService.createIssueInProject({
|
|
591
594
|
project_id: siteProject.id,
|
|
595
|
+
workspace_id: acme.id,
|
|
592
596
|
title: "Design hero animation",
|
|
593
597
|
type: "task",
|
|
594
598
|
priority: "medium",
|
|
@@ -597,6 +601,7 @@ async function main() {
|
|
|
597
601
|
})
|
|
598
602
|
await issueService.createIssueInProject({
|
|
599
603
|
project_id: siteProject.id,
|
|
604
|
+
workspace_id: acme.id,
|
|
600
605
|
title: "Write hero copy",
|
|
601
606
|
type: "task",
|
|
602
607
|
priority: "low",
|
|
@@ -605,6 +610,7 @@ async function main() {
|
|
|
605
610
|
})
|
|
606
611
|
await issueService.createIssueInProject({
|
|
607
612
|
project_id: siteProject.id,
|
|
613
|
+
workspace_id: acme.id,
|
|
608
614
|
title: "Fix broken navigation links",
|
|
609
615
|
type: "bug",
|
|
610
616
|
priority: "urgent",
|
|
@@ -612,6 +618,7 @@ async function main() {
|
|
|
612
618
|
})
|
|
613
619
|
await issueService.createIssueInProject({
|
|
614
620
|
project_id: siteProject.id,
|
|
621
|
+
workspace_id: acme.id,
|
|
615
622
|
title: "Implement contact form",
|
|
616
623
|
type: "feature",
|
|
617
624
|
priority: "medium",
|
|
@@ -619,6 +626,7 @@ async function main() {
|
|
|
619
626
|
})
|
|
620
627
|
await issueService.createIssueInProject({
|
|
621
628
|
project_id: siteProject.id,
|
|
629
|
+
workspace_id: acme.id,
|
|
622
630
|
title: "Optimize images for web",
|
|
623
631
|
type: "task",
|
|
624
632
|
priority: "low",
|
|
@@ -626,6 +634,7 @@ async function main() {
|
|
|
626
634
|
})
|
|
627
635
|
await issueService.createIssueInProject({
|
|
628
636
|
project_id: siteProject.id,
|
|
637
|
+
workspace_id: acme.id,
|
|
629
638
|
title: "Add SEO meta tags",
|
|
630
639
|
type: "task",
|
|
631
640
|
priority: "medium",
|
|
@@ -633,6 +642,7 @@ async function main() {
|
|
|
633
642
|
})
|
|
634
643
|
await issueService.createIssueInProject({
|
|
635
644
|
project_id: siteProject.id,
|
|
645
|
+
workspace_id: acme.id,
|
|
636
646
|
title: "Set up Google Analytics",
|
|
637
647
|
type: "task",
|
|
638
648
|
priority: "high",
|
|
@@ -652,6 +662,7 @@ async function main() {
|
|
|
652
662
|
await seedStatuses(appProject.id)
|
|
653
663
|
const appSprint = await sprintService.createSprint({
|
|
654
664
|
project_id: appProject.id,
|
|
665
|
+
workspace_id: acme.id,
|
|
655
666
|
name: "Sprint 1",
|
|
656
667
|
start_date: now,
|
|
657
668
|
end_date: future(14),
|
|
@@ -660,6 +671,7 @@ async function main() {
|
|
|
660
671
|
|
|
661
672
|
const appPush = await issueService.createIssueInProject({
|
|
662
673
|
project_id: appProject.id,
|
|
674
|
+
workspace_id: acme.id,
|
|
663
675
|
title: "Implement push notifications",
|
|
664
676
|
type: "feature",
|
|
665
677
|
priority: "high",
|
|
@@ -668,6 +680,7 @@ async function main() {
|
|
|
668
680
|
})
|
|
669
681
|
await issueService.createIssueInProject({
|
|
670
682
|
project_id: appProject.id,
|
|
683
|
+
workspace_id: acme.id,
|
|
671
684
|
title: "iOS push setup",
|
|
672
685
|
type: "task",
|
|
673
686
|
priority: "medium",
|
|
@@ -676,6 +689,7 @@ async function main() {
|
|
|
676
689
|
})
|
|
677
690
|
await issueService.createIssueInProject({
|
|
678
691
|
project_id: appProject.id,
|
|
692
|
+
workspace_id: acme.id,
|
|
679
693
|
title: "Android push setup",
|
|
680
694
|
type: "task",
|
|
681
695
|
priority: "medium",
|
|
@@ -684,6 +698,7 @@ async function main() {
|
|
|
684
698
|
})
|
|
685
699
|
const appCrash = await issueService.createIssueInProject({
|
|
686
700
|
project_id: appProject.id,
|
|
701
|
+
workspace_id: acme.id,
|
|
687
702
|
title: "Fix crash on login screen",
|
|
688
703
|
type: "bug",
|
|
689
704
|
priority: "urgent",
|
|
@@ -691,6 +706,7 @@ async function main() {
|
|
|
691
706
|
})
|
|
692
707
|
await issueService.createIssueInProject({
|
|
693
708
|
project_id: appProject.id,
|
|
709
|
+
workspace_id: acme.id,
|
|
694
710
|
title: "Add dark mode support",
|
|
695
711
|
type: "feature",
|
|
696
712
|
priority: "medium",
|
|
@@ -698,6 +714,7 @@ async function main() {
|
|
|
698
714
|
})
|
|
699
715
|
await issueService.createIssueInProject({
|
|
700
716
|
project_id: appProject.id,
|
|
717
|
+
workspace_id: acme.id,
|
|
701
718
|
title: "Improve app launch time",
|
|
702
719
|
type: "task",
|
|
703
720
|
priority: "high",
|
|
@@ -705,6 +722,7 @@ async function main() {
|
|
|
705
722
|
})
|
|
706
723
|
await issueService.createIssueInProject({
|
|
707
724
|
project_id: appProject.id,
|
|
725
|
+
workspace_id: acme.id,
|
|
708
726
|
title: "Write onboarding flow",
|
|
709
727
|
type: "story",
|
|
710
728
|
priority: "medium",
|
|
@@ -712,6 +730,7 @@ async function main() {
|
|
|
712
730
|
})
|
|
713
731
|
await issueService.createIssueInProject({
|
|
714
732
|
project_id: appProject.id,
|
|
733
|
+
workspace_id: acme.id,
|
|
715
734
|
title: "Accessibility audit",
|
|
716
735
|
type: "task",
|
|
717
736
|
priority: "low",
|
|
@@ -735,6 +754,7 @@ async function main() {
|
|
|
735
754
|
await seedStatuses(roadmapProject.id)
|
|
736
755
|
const roadmapSprint = await sprintService.createSprint({
|
|
737
756
|
project_id: roadmapProject.id,
|
|
757
|
+
workspace_id: starlight.id,
|
|
738
758
|
name: "Sprint 1",
|
|
739
759
|
start_date: now,
|
|
740
760
|
end_date: future(21),
|
|
@@ -743,6 +763,7 @@ async function main() {
|
|
|
743
763
|
|
|
744
764
|
const roadmapOkr = await issueService.createIssueInProject({
|
|
745
765
|
project_id: roadmapProject.id,
|
|
766
|
+
workspace_id: starlight.id,
|
|
746
767
|
title: "Define Q2 OKRs",
|
|
747
768
|
type: "epic",
|
|
748
769
|
priority: "high",
|
|
@@ -751,6 +772,7 @@ async function main() {
|
|
|
751
772
|
})
|
|
752
773
|
await issueService.createIssueInProject({
|
|
753
774
|
project_id: roadmapProject.id,
|
|
775
|
+
workspace_id: starlight.id,
|
|
754
776
|
title: "Engineering OKRs",
|
|
755
777
|
type: "task",
|
|
756
778
|
priority: "high",
|
|
@@ -759,6 +781,7 @@ async function main() {
|
|
|
759
781
|
})
|
|
760
782
|
await issueService.createIssueInProject({
|
|
761
783
|
project_id: roadmapProject.id,
|
|
784
|
+
workspace_id: starlight.id,
|
|
762
785
|
title: "Product OKRs",
|
|
763
786
|
type: "task",
|
|
764
787
|
priority: "high",
|
|
@@ -767,6 +790,7 @@ async function main() {
|
|
|
767
790
|
})
|
|
768
791
|
await issueService.createIssueInProject({
|
|
769
792
|
project_id: roadmapProject.id,
|
|
793
|
+
workspace_id: starlight.id,
|
|
770
794
|
title: "User research interviews",
|
|
771
795
|
type: "task",
|
|
772
796
|
priority: "medium",
|
|
@@ -774,6 +798,7 @@ async function main() {
|
|
|
774
798
|
})
|
|
775
799
|
await issueService.createIssueInProject({
|
|
776
800
|
project_id: roadmapProject.id,
|
|
801
|
+
workspace_id: starlight.id,
|
|
777
802
|
title: "Competitive analysis",
|
|
778
803
|
type: "task",
|
|
779
804
|
priority: "medium",
|
|
@@ -781,6 +806,7 @@ async function main() {
|
|
|
781
806
|
})
|
|
782
807
|
await issueService.createIssueInProject({
|
|
783
808
|
project_id: roadmapProject.id,
|
|
809
|
+
workspace_id: starlight.id,
|
|
784
810
|
title: "Draft product spec v1",
|
|
785
811
|
type: "feature",
|
|
786
812
|
priority: "high",
|
|
@@ -788,6 +814,7 @@ async function main() {
|
|
|
788
814
|
})
|
|
789
815
|
await issueService.createIssueInProject({
|
|
790
816
|
project_id: roadmapProject.id,
|
|
817
|
+
workspace_id: starlight.id,
|
|
791
818
|
title: "Roadmap review with stakeholders",
|
|
792
819
|
type: "task",
|
|
793
820
|
priority: "medium",
|
|
@@ -795,6 +822,7 @@ async function main() {
|
|
|
795
822
|
})
|
|
796
823
|
await issueService.createIssueInProject({
|
|
797
824
|
project_id: roadmapProject.id,
|
|
825
|
+
workspace_id: starlight.id,
|
|
798
826
|
title: "Prioritize feature backlog",
|
|
799
827
|
type: "task",
|
|
800
828
|
priority: "low",
|
|
@@ -814,6 +842,7 @@ async function main() {
|
|
|
814
842
|
await seedStatuses(mktProject.id)
|
|
815
843
|
const mktSprint = await sprintService.createSprint({
|
|
816
844
|
project_id: mktProject.id,
|
|
845
|
+
workspace_id: starlight.id,
|
|
817
846
|
name: "Sprint 1",
|
|
818
847
|
start_date: now,
|
|
819
848
|
end_date: future(7),
|
|
@@ -822,6 +851,7 @@ async function main() {
|
|
|
822
851
|
|
|
823
852
|
const mktPricing = await issueService.createIssueInProject({
|
|
824
853
|
project_id: mktProject.id,
|
|
854
|
+
workspace_id: starlight.id,
|
|
825
855
|
title: "Redesign pricing page",
|
|
826
856
|
type: "feature",
|
|
827
857
|
priority: "high",
|
|
@@ -830,6 +860,7 @@ async function main() {
|
|
|
830
860
|
})
|
|
831
861
|
await issueService.createIssueInProject({
|
|
832
862
|
project_id: mktProject.id,
|
|
863
|
+
workspace_id: starlight.id,
|
|
833
864
|
title: "Update pricing copy",
|
|
834
865
|
type: "task",
|
|
835
866
|
priority: "medium",
|
|
@@ -838,6 +869,7 @@ async function main() {
|
|
|
838
869
|
})
|
|
839
870
|
await issueService.createIssueInProject({
|
|
840
871
|
project_id: mktProject.id,
|
|
872
|
+
workspace_id: starlight.id,
|
|
841
873
|
title: "A/B test variants",
|
|
842
874
|
type: "task",
|
|
843
875
|
priority: "low",
|
|
@@ -846,6 +878,7 @@ async function main() {
|
|
|
846
878
|
})
|
|
847
879
|
await issueService.createIssueInProject({
|
|
848
880
|
project_id: mktProject.id,
|
|
881
|
+
workspace_id: starlight.id,
|
|
849
882
|
title: "Fix mobile layout issues",
|
|
850
883
|
type: "bug",
|
|
851
884
|
priority: "urgent",
|
|
@@ -853,6 +886,7 @@ async function main() {
|
|
|
853
886
|
})
|
|
854
887
|
await issueService.createIssueInProject({
|
|
855
888
|
project_id: mktProject.id,
|
|
889
|
+
workspace_id: starlight.id,
|
|
856
890
|
title: "Improve page load score",
|
|
857
891
|
type: "task",
|
|
858
892
|
priority: "high",
|
|
@@ -860,6 +894,7 @@ async function main() {
|
|
|
860
894
|
})
|
|
861
895
|
await issueService.createIssueInProject({
|
|
862
896
|
project_id: mktProject.id,
|
|
897
|
+
workspace_id: starlight.id,
|
|
863
898
|
title: "Add blog section",
|
|
864
899
|
type: "feature",
|
|
865
900
|
priority: "medium",
|
|
@@ -867,6 +902,7 @@ async function main() {
|
|
|
867
902
|
})
|
|
868
903
|
await issueService.createIssueInProject({
|
|
869
904
|
project_id: mktProject.id,
|
|
905
|
+
workspace_id: starlight.id,
|
|
870
906
|
title: "Set up Hotjar",
|
|
871
907
|
type: "task",
|
|
872
908
|
priority: "low",
|
|
@@ -874,6 +910,7 @@ async function main() {
|
|
|
874
910
|
})
|
|
875
911
|
await issueService.createIssueInProject({
|
|
876
912
|
project_id: mktProject.id,
|
|
913
|
+
workspace_id: starlight.id,
|
|
877
914
|
title: "Write 3 launch blog posts",
|
|
878
915
|
type: "task",
|
|
879
916
|
priority: "medium",
|
|
@@ -897,6 +934,7 @@ async function main() {
|
|
|
897
934
|
await seedStatuses(infraProject.id)
|
|
898
935
|
const infraSprint = await sprintService.createSprint({
|
|
899
936
|
project_id: infraProject.id,
|
|
937
|
+
workspace_id: devops.id,
|
|
900
938
|
name: "Sprint 1",
|
|
901
939
|
start_date: now,
|
|
902
940
|
end_date: future(14),
|
|
@@ -905,6 +943,7 @@ async function main() {
|
|
|
905
943
|
|
|
906
944
|
const infraEks = await issueService.createIssueInProject({
|
|
907
945
|
project_id: infraProject.id,
|
|
946
|
+
workspace_id: devops.id,
|
|
908
947
|
title: "Migrate to EKS",
|
|
909
948
|
type: "epic",
|
|
910
949
|
priority: "high",
|
|
@@ -913,6 +952,7 @@ async function main() {
|
|
|
913
952
|
})
|
|
914
953
|
await issueService.createIssueInProject({
|
|
915
954
|
project_id: infraProject.id,
|
|
955
|
+
workspace_id: devops.id,
|
|
916
956
|
title: "Set up EKS cluster",
|
|
917
957
|
type: "task",
|
|
918
958
|
priority: "high",
|
|
@@ -921,6 +961,7 @@ async function main() {
|
|
|
921
961
|
})
|
|
922
962
|
await issueService.createIssueInProject({
|
|
923
963
|
project_id: infraProject.id,
|
|
964
|
+
workspace_id: devops.id,
|
|
924
965
|
title: "Migrate services",
|
|
925
966
|
type: "task",
|
|
926
967
|
priority: "high",
|
|
@@ -929,6 +970,7 @@ async function main() {
|
|
|
929
970
|
})
|
|
930
971
|
await issueService.createIssueInProject({
|
|
931
972
|
project_id: infraProject.id,
|
|
973
|
+
workspace_id: devops.id,
|
|
932
974
|
title: "Implement secrets rotation",
|
|
933
975
|
type: "feature",
|
|
934
976
|
priority: "urgent",
|
|
@@ -936,6 +978,7 @@ async function main() {
|
|
|
936
978
|
})
|
|
937
979
|
await issueService.createIssueInProject({
|
|
938
980
|
project_id: infraProject.id,
|
|
981
|
+
workspace_id: devops.id,
|
|
939
982
|
title: "Add CloudWatch dashboards",
|
|
940
983
|
type: "task",
|
|
941
984
|
priority: "medium",
|
|
@@ -943,6 +986,7 @@ async function main() {
|
|
|
943
986
|
})
|
|
944
987
|
await issueService.createIssueInProject({
|
|
945
988
|
project_id: infraProject.id,
|
|
989
|
+
workspace_id: devops.id,
|
|
946
990
|
title: "Reduce AWS costs by 20%",
|
|
947
991
|
type: "task",
|
|
948
992
|
priority: "high",
|
|
@@ -950,6 +994,7 @@ async function main() {
|
|
|
950
994
|
})
|
|
951
995
|
await issueService.createIssueInProject({
|
|
952
996
|
project_id: infraProject.id,
|
|
997
|
+
workspace_id: devops.id,
|
|
953
998
|
title: "Set up Datadog APM",
|
|
954
999
|
type: "feature",
|
|
955
1000
|
priority: "medium",
|
|
@@ -958,6 +1003,7 @@ async function main() {
|
|
|
958
1003
|
})
|
|
959
1004
|
await issueService.createIssueInProject({
|
|
960
1005
|
project_id: infraProject.id,
|
|
1006
|
+
workspace_id: devops.id,
|
|
961
1007
|
title: "Document runbooks",
|
|
962
1008
|
type: "task",
|
|
963
1009
|
priority: "low",
|
|
@@ -976,6 +1022,7 @@ async function main() {
|
|
|
976
1022
|
await seedStatuses(cicdProject.id)
|
|
977
1023
|
const cicdSprint = await sprintService.createSprint({
|
|
978
1024
|
project_id: cicdProject.id,
|
|
1025
|
+
workspace_id: devops.id,
|
|
979
1026
|
name: "Sprint 1",
|
|
980
1027
|
start_date: now,
|
|
981
1028
|
end_date: future(14),
|
|
@@ -984,6 +1031,7 @@ async function main() {
|
|
|
984
1031
|
|
|
985
1032
|
const cicdMatrix = await issueService.createIssueInProject({
|
|
986
1033
|
project_id: cicdProject.id,
|
|
1034
|
+
workspace_id: devops.id,
|
|
987
1035
|
title: "Add matrix builds for Node 18/20",
|
|
988
1036
|
type: "feature",
|
|
989
1037
|
priority: "high",
|
|
@@ -992,6 +1040,7 @@ async function main() {
|
|
|
992
1040
|
})
|
|
993
1041
|
await issueService.createIssueInProject({
|
|
994
1042
|
project_id: cicdProject.id,
|
|
1043
|
+
workspace_id: devops.id,
|
|
995
1044
|
title: "Node 18 build config",
|
|
996
1045
|
type: "task",
|
|
997
1046
|
priority: "medium",
|
|
@@ -1000,6 +1049,7 @@ async function main() {
|
|
|
1000
1049
|
})
|
|
1001
1050
|
await issueService.createIssueInProject({
|
|
1002
1051
|
project_id: cicdProject.id,
|
|
1052
|
+
workspace_id: devops.id,
|
|
1003
1053
|
title: "Node 20 build config",
|
|
1004
1054
|
type: "task",
|
|
1005
1055
|
priority: "medium",
|
|
@@ -1008,6 +1058,7 @@ async function main() {
|
|
|
1008
1058
|
})
|
|
1009
1059
|
await issueService.createIssueInProject({
|
|
1010
1060
|
project_id: cicdProject.id,
|
|
1061
|
+
workspace_id: devops.id,
|
|
1011
1062
|
title: "Flaky test investigation",
|
|
1012
1063
|
type: "bug",
|
|
1013
1064
|
priority: "high",
|
|
@@ -1015,6 +1066,7 @@ async function main() {
|
|
|
1015
1066
|
})
|
|
1016
1067
|
await issueService.createIssueInProject({
|
|
1017
1068
|
project_id: cicdProject.id,
|
|
1069
|
+
workspace_id: devops.id,
|
|
1018
1070
|
title: "Add deploy preview environments",
|
|
1019
1071
|
type: "feature",
|
|
1020
1072
|
priority: "medium",
|
|
@@ -1022,6 +1074,7 @@ async function main() {
|
|
|
1022
1074
|
})
|
|
1023
1075
|
await issueService.createIssueInProject({
|
|
1024
1076
|
project_id: cicdProject.id,
|
|
1077
|
+
workspace_id: devops.id,
|
|
1025
1078
|
title: "Cache npm dependencies",
|
|
1026
1079
|
type: "task",
|
|
1027
1080
|
priority: "medium",
|
|
@@ -1030,6 +1083,7 @@ async function main() {
|
|
|
1030
1083
|
})
|
|
1031
1084
|
await issueService.createIssueInProject({
|
|
1032
1085
|
project_id: cicdProject.id,
|
|
1086
|
+
workspace_id: devops.id,
|
|
1033
1087
|
title: "Rollback automation",
|
|
1034
1088
|
type: "feature",
|
|
1035
1089
|
priority: "high",
|
|
@@ -1037,6 +1091,7 @@ async function main() {
|
|
|
1037
1091
|
})
|
|
1038
1092
|
await issueService.createIssueInProject({
|
|
1039
1093
|
project_id: cicdProject.id,
|
|
1094
|
+
workspace_id: devops.id,
|
|
1040
1095
|
title: "Pipeline documentation",
|
|
1041
1096
|
type: "task",
|
|
1042
1097
|
priority: "low",
|
package/dist/cli.js
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
toKebabCase,
|
|
15
15
|
toPascalCase,
|
|
16
16
|
writeFile
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-EE7FQVVB.js";
|
|
18
18
|
|
|
19
19
|
// src/cli.ts
|
|
20
20
|
import { Command } from "commander";
|
|
@@ -106,8 +106,9 @@ async function buildAdminExtensions(rootDir) {
|
|
|
106
106
|
throw err;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
function startDashboardServer(distDir, port, apiPort, apiHost = "localhost", adminExtensionsBuf = null) {
|
|
110
|
-
const
|
|
109
|
+
function startDashboardServer(distDir, port, apiPort, apiHost = "localhost", adminExtensionsBuf = null, apiUrlOverride) {
|
|
110
|
+
const resolvedApiUrl = apiUrlOverride ?? `http://${apiHost}:${apiPort}`;
|
|
111
|
+
const configScript = `<script>window.__MERIDIAN_CONFIG__ = { apiUrl: "${resolvedApiUrl}" };</script>`;
|
|
111
112
|
return new Promise((resolve, reject) => {
|
|
112
113
|
const server = http.createServer((req, res) => {
|
|
113
114
|
const urlPath = (req.url ?? "/").split("?")[0];
|
|
@@ -185,6 +186,7 @@ async function runServeDashboard(portOverride) {
|
|
|
185
186
|
}
|
|
186
187
|
const { apiPort, dashboardPort } = await readProjectPorts(rootDir);
|
|
187
188
|
const port = portOverride ?? dashboardPort;
|
|
189
|
+
const apiUrl = process.env.API_URL ?? `http://localhost:${apiPort}`;
|
|
188
190
|
let adminExtensionsBuf = null;
|
|
189
191
|
const extensionsEntry = path.join(rootDir, "src", "admin", "widgets", "index.tsx");
|
|
190
192
|
if (existsSync(extensionsEntry)) {
|
|
@@ -199,9 +201,9 @@ async function runServeDashboard(portOverride) {
|
|
|
199
201
|
console.warn(chalk.yellow(" \u26A0 Admin extensions failed to compile:"), err);
|
|
200
202
|
}
|
|
201
203
|
}
|
|
202
|
-
const server = await startDashboardServer(distDir, port, apiPort, "localhost", adminExtensionsBuf);
|
|
204
|
+
const server = await startDashboardServer(distDir, port, apiPort, "localhost", adminExtensionsBuf, apiUrl);
|
|
203
205
|
console.log(chalk.green(" \u2714 Admin dashboard: ") + chalk.cyan(`http://localhost:${port}`));
|
|
204
|
-
console.log(chalk.dim(` \u2192 API:
|
|
206
|
+
console.log(chalk.dim(` \u2192 API: ${apiUrl}`));
|
|
205
207
|
if (adminExtensionsBuf) {
|
|
206
208
|
console.log(chalk.dim(` \u2192 Extensions: /admin-extensions.js (${adminExtensionsBuf.length} bytes)`));
|
|
207
209
|
}
|
package/dist/index.js
CHANGED