Skip to content

Commit 86f026c

Browse files
authored
Adapt bsb to new rescript.json flags and remove usage of deprecated ones (#7699)
1 parent 2646aea commit 86f026c

File tree

44 files changed

+84
-60
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+84
-60
lines changed

analysis/examples/example-project/rescript.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"name": "tryit",
33
"sources": "src",
4-
"bsc-flags": ["-bs-super-errors", "-open Belt"],
4+
"compiler-flags": ["-open Belt"],
55
"warnings": {
66
"number": "-32-26-27-33"
77
},
8-
"bs-dependencies": ["reason-react"],
8+
"dependencies": ["reason-react"],
99
"namespace": "my-namespace",
1010
"reanalyze": {
1111
"analysis": ["dce", "exception"]

analysis/examples/larger-project/rescript.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
"unsuppress": []
66
},
77
"name": "sample-typescript-app",
8-
"bsc-flags": ["-bs-super-errors -w a"],
9-
"bs-dependencies": ["@rescript/react", "@glennsl/bs-json"],
8+
"compiler-flags": ["-w a"],
9+
"dependencies": ["@rescript/react", "@glennsl/bs-json"],
1010
"sources": [
1111
{
1212
"dir": "src",

analysis/examples/workspace-project/app/rescript.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "app",
3-
"bsc-flags": ["-open Common"],
4-
"bs-dependencies": ["common", "myplugin"],
3+
"compiler-flags": ["-open Common"],
4+
"dependencies": ["common", "myplugin"],
55
"sources": [
66
{
77
"dir": "src",

analysis/examples/workspace-project/rescript.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
"in-source": true
88
},
99
"suffix": ".mjs",
10-
"bs-dependencies": ["common", "myplugin", "app"]
10+
"dependencies": ["common", "myplugin", "app"]
1111
}

compiler/bsb/bsb_build_schemas.ml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,15 @@ let name = "name"
2727
let ppx_flags = "ppx-flags"
2828
let pp_flags = "pp-flags"
2929
let bs_external_includes = "bs-external-includes"
30+
let dependencies = "dependencies"
3031
let bs_dependencies = "bs-dependencies"
32+
let dev_dependencies = "dev-dependencies"
3133
let bs_dev_dependencies = "bs-dev-dependencies"
3234
let sources = "sources"
3335
let dir = "dir"
3436
let files = "files"
3537
let subdirs = "subdirs"
38+
let compiler_flags = "compiler-flags"
3639
let bsc_flags = "bsc-flags"
3740
let excludes = "excludes"
3841
let slow_re = "slow-re"

compiler/bsb/bsb_build_util.ml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,12 @@ let rec walk_all_deps_aux (visited : string Hash_string.t) (paths : string list)
193193
)
194194
|> ignore
195195
in
196+
explore_deps Bsb_build_schemas.dependencies;
196197
explore_deps Bsb_build_schemas.bs_dependencies;
197198
(match top with
198-
| Expect_none -> explore_deps Bsb_build_schemas.bs_dev_dependencies
199+
| Expect_none ->
200+
explore_deps Bsb_build_schemas.dev_dependencies;
201+
explore_deps Bsb_build_schemas.bs_dev_dependencies
199202
| Expect_name _ -> ());
200203
Queue.add {top; proj_dir = dir} queue;
201204
Hash_string.add visited cur_package_name dir

compiler/bsb/bsb_config_parse.ml

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,13 +238,24 @@ let interpret_json ~(filename : string) ~(json : Ext_json_types.t)
238238
.path)
239239
in
240240
let bs_dependencies =
241-
extract_dependencies map per_proj_dir Bsb_build_schemas.bs_dependencies
241+
let dependencies =
242+
extract_dependencies map per_proj_dir Bsb_build_schemas.dependencies
243+
in
244+
if dependencies == [] then
245+
extract_dependencies map per_proj_dir Bsb_build_schemas.bs_dependencies
246+
else dependencies
242247
in
243248
let bs_dev_dependencies =
244249
match package_kind with
245250
| Toplevel ->
246-
extract_dependencies map per_proj_dir
247-
Bsb_build_schemas.bs_dev_dependencies
251+
let dev_dependencies =
252+
extract_dependencies map per_proj_dir
253+
Bsb_build_schemas.dev_dependencies
254+
in
255+
if dev_dependencies == [] then
256+
extract_dependencies map per_proj_dir
257+
Bsb_build_schemas.bs_dev_dependencies
258+
else dev_dependencies
248259
| Dependency _ -> []
249260
in
250261
match map.?(Bsb_build_schemas.sources) with
@@ -258,7 +269,14 @@ let interpret_json ~(filename : string) ~(json : Ext_json_types.t)
258269
(* ~namespace *)
259270
sources
260271
in
261-
let bsc_flags = extract_string_list map Bsb_build_schemas.bsc_flags in
272+
let bsc_flags =
273+
let compiler_flags =
274+
extract_string_list map Bsb_build_schemas.compiler_flags
275+
in
276+
if compiler_flags == [] then
277+
extract_string_list map Bsb_build_schemas.bsc_flags
278+
else compiler_flags
279+
in
262280
let jsx = Bsb_jsx.from_map map in
263281
let jsx, bsc_flags =
264282
match package_kind with

docs/JSXV4.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ For example, suppose a V3 project uses rescript-react 0.11, which requires compa
2727
"version": 3,
2828
"v3-dependencies": ["rescript-react-native", "rescript-react-navigation"]
2929
},
30-
"bsc-flags": ["-open ReactV3"]
30+
"compiler-flags": ["-open ReactV3"]
3131
```
3232

3333
Another example is a V4 project that also uses `"rescript-react-native", "rescript-react-navigation"`. Then the setting will be:

packages/playground/rescript.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"in-source": false,
1111
"suffix": ".res.js"
1212
},
13-
"bs-dependencies": [
13+
"dependencies": [
1414
"@rescript/react"
1515
]
1616
}

packages/playground/scripts/generate_cmijs.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ exec("yarn rescript legacy");
3030
// Otherwise we can't use them for compilation within the playground.
3131
buildCmij(compilerRootDir, "compiler-builtins");
3232

33-
const packages = resConfig["bs-dependencies"];
33+
const packages = resConfig["dependencies"];
3434
for (const pkgName of packages) {
3535
buildCmij(
3636
path.join(compilerRootDir, "node_modules", pkgName),

0 commit comments

Comments
 (0)