@@ -51,27 +51,15 @@ let getTemplateOptions = () =>
51
51
hint : shortDescription ,
52
52
})
53
53
54
- let createNewProject = async () => {
55
- P .note (~title = "New Project" , ~message = newProjectMessage )
56
-
57
- let projectName = await P .text ({
58
- message : "What is the name of your new ReScript project?" ,
59
- placeholder : "my-rescript-app" ,
60
- initialValue : ?Process .argv [2 ],
61
- validate : validateProjectName ,
62
- })-> P .resultOrRaise
63
-
64
- let templateName =
65
- await P .select ({message : "Select a template" , options : getTemplateOptions ()})-> P .resultOrRaise
66
-
67
- let versions = await RescriptVersions .promptVersions ()
68
-
54
+ let createProject = async (~templateName , ~projectName , ~versions ) => {
69
55
let templatePath = CraPaths .getTemplatePath (~templateName )
70
56
let projectPath = Path .join2 (Process .cwd (), projectName )
71
57
72
58
let s = P .spinner ()
73
59
74
- s -> P .Spinner .start ("Creating project..." )
60
+ if ! CI .isRunningInCI {
61
+ s -> P .Spinner .start ("Creating project..." )
62
+ }
75
63
76
64
await Fs .Promises .cp (templatePath , projectPath , ~options = {recursive : true })
77
65
Process .chdir (projectPath )
@@ -83,5 +71,34 @@ let createNewProject = async () => {
83
71
await RescriptVersions .installVersions (versions )
84
72
let _ = await Promisified .ChildProcess .execFile ("git" , ["init" ])
85
73
86
- s -> P .Spinner .stop ("Project created." )
74
+ if ! CI .isRunningInCI {
75
+ s -> P .Spinner .stop ("Project created." )
76
+ }
77
+ }
78
+
79
+ let createNewProject = async () => {
80
+ P .note (~title = "New Project" , ~message = newProjectMessage )
81
+
82
+ if CI .isRunningInCI {
83
+ // type versions = {rescriptVersion: string, rescriptCoreVersion: string}
84
+ await createProject (
85
+ ~templateName = "rescript-template-basic" ,
86
+ ~projectName = "test" ,
87
+ ~versions = {rescriptVersion : "11.1.1" , rescriptCoreVersion : "1.5.0" },
88
+ )
89
+ } else {
90
+ let projectName = await P .text ({
91
+ message : "What is the name of your new ReScript project?" ,
92
+ placeholder : "my-rescript-app" ,
93
+ initialValue : ?Process .argv [2 ],
94
+ validate : validateProjectName ,
95
+ })-> P .resultOrRaise
96
+
97
+ let templateName =
98
+ await P .select ({message : "Select a template" , options : getTemplateOptions ()})-> P .resultOrRaise
99
+
100
+ let versions = await RescriptVersions .promptVersions ()
101
+
102
+ await createProject (~templateName , ~projectName , ~versions )
103
+ }
87
104
}
0 commit comments