Skip to content

Commit 73dad93

Browse files
committed
Update rescript.json
1 parent 22dea39 commit 73dad93

File tree

4 files changed

+40
-3
lines changed

4 files changed

+40
-3
lines changed

src/ExistingJsProject.res

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ let updatePackageJson = async () =>
2020
}
2121
)
2222

23-
let updateRescriptJson = async (~projectName, ~sourceDir, ~moduleSystem, ~suffix) =>
23+
let updateRescriptJson = async (~projectName, ~sourceDir, ~moduleSystem, ~suffix, ~versions) =>
2424
await JsonUtils.updateJsonFile("rescript.json", json =>
2525
switch json {
2626
| Object(config) =>
@@ -34,6 +34,10 @@ let updateRescriptJson = async (~projectName, ~sourceDir, ~moduleSystem, ~suffix
3434
| Some(Object(sources)) => sources->Dict.set("module", String(moduleSystem))
3535
| _ => ()
3636
}
37+
38+
if Option.isNone(versions.RescriptVersions.rescriptCoreVersion) {
39+
RescriptJsonUtils.removeRescriptCore(config)
40+
}
3741
| _ => ()
3842
}
3943
)
@@ -98,7 +102,7 @@ let addToExistingProject = async (~projectName) => {
98102
}
99103

100104
await updatePackageJson()
101-
await updateRescriptJson(~projectName, ~sourceDir, ~moduleSystem, ~suffix)
105+
await updateRescriptJson(~projectName, ~sourceDir, ~moduleSystem, ~suffix, ~versions)
102106

103107
if !Fs.existsSync(sourceDirPath) {
104108
await Fs.Promises.mkdir(sourceDirPath)

src/NewProject.res

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ let updateRescriptJson = async (~projectName, ~versions) =>
3737
config->Dict.set("suffix", String(suffix))
3838
| _ => ()
3939
}
40+
41+
if Option.isNone(versions.rescriptCoreVersion) {
42+
RescriptJsonUtils.removeRescriptCore(config)
43+
}
4044
| _ => ()
4145
}
4246
)

src/RescriptJsonUtils.res

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
let removeRescriptCore = (config: Dict.t<JSON.t>) => {
2+
// Remove @rescript/core from bs-dependencies if the version is not set.
3+
switch config->Dict.get("bs-dependencies") {
4+
| Some(Array(dependencies)) => {
5+
let newDependencies = dependencies->Array.filter(dependency =>
6+
switch dependency {
7+
| String("@rescript/core") => false
8+
| _ => true
9+
}
10+
)
11+
config->Dict.set("bs-dependencies", Array(newDependencies))
12+
}
13+
| _ => ()
14+
}
15+
16+
// Remove "-open RescriptCore" from bsc-flags if the version is not set.
17+
switch config->Dict.get("bsc-flags") {
18+
| Some(Array(flags)) => {
19+
let newFlags = flags->Array.filter(flag =>
20+
switch flag {
21+
| String("-open RescriptCore") => false
22+
| _ => true
23+
}
24+
)
25+
config->Dict.set("bsc-flags", Array(newFlags))
26+
}
27+
| _ => ()
28+
}
29+
}

src/RescriptVersions.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module P = ClackPrompts
22

3-
let rescript12VersionRange = "12.0.0-alpha.x"
3+
let rescript12VersionRange = ">=12.0.0-alpha.5"
44
let rescriptVersionRange = `11.x.x || ${rescript12VersionRange}`
55
let rescriptCoreVersionRange = ">=1.0.0"
66

0 commit comments

Comments
 (0)